def _get_locked(self, dependency: Dependency) -> Optional[Package]: if dependency.name in self._use_latest: return locked = self._locked.get(dependency.name) if not locked: return if not dependency.is_same_package_as(locked): return return locked
def _get_locked(self, dependency: Dependency) -> Package | None: if dependency.name in self._use_latest: return None locked = self._locked.get(dependency.name) if not locked: return None if not dependency.is_same_package_as(locked): return None return locked
def _compatible_dependency(self, other: Dependency) -> bool: return ( self.dependency.is_root or other.is_root or other.is_same_package_as(self.dependency) or ( # we do this here to indicate direct origin dependencies are # compatible with NVR dependencies self.dependency.complete_name == other.complete_name and self.dependency.is_direct_origin() != other.is_direct_origin() ) )
def _get_locked( self, dependency: Dependency, *, allow_similar: bool = False ) -> DependencyPackage | None: if dependency.name in self._use_latest: return None locked = self._locked.get(dependency.name, []) for package in locked: if (allow_similar or dependency.is_same_package_as(package.package)) and ( dependency.constraint.allows(package.version) or package.is_prerelease() and dependency.constraint.allows(package.version.next_patch()) ): return DependencyPackage(dependency, package.package) return None
def _compatible_dependency(self, other: Dependency) -> bool: compatible: bool = (self.dependency.is_root or other.is_root or other.is_same_package_as(self.dependency)) return compatible