Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 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()
         )
     )
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
 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