def search_for_url(self, dependency: URLDependency) -> List[Package]: if dependency in self._deferred_cache: return [self._deferred_cache[dependency]] package = self.get_package_from_url(dependency.url) if dependency.name != package.name: # For now, the dependency's name must match the actual package's name raise RuntimeError( "The dependency name for {} does not match the actual package's name: {}" .format(dependency.name, package.name)) for extra in dependency.extras: if extra in package.extras: for dep in package.extras[extra]: dep.activate() package.requires += package.extras[extra] dependency._constraint = package.version dependency._pretty_constraint = package.version.text self._deferred_cache[dependency] = package return [package]
def search_for_url(self, dependency: URLDependency) -> list[Package]: if dependency in self._deferred_cache: return [self._deferred_cache[dependency]] package = self.get_package_from_url(dependency.url) if dependency.name != package.name: # For now, the dependency's name must match the actual package's name raise RuntimeError( f"The dependency name for {dependency.name} does not match the actual" f" package's name: {package.name}") for extra in dependency.extras: if extra in package.extras: for dep in package.extras[extra]: dep.activate() for extra_dep in package.extras[extra]: package.add_dependency(extra_dep) dependency._constraint = package.version dependency._pretty_constraint = package.version.text self._deferred_cache[dependency] = package return [package]
def search_for_url(self, dependency: URLDependency) -> list[Package]: if dependency in self._deferred_cache: return [self._deferred_cache[dependency]] package = self.get_package_from_url(dependency.url) self.validate_package_for_dependency(dependency=dependency, package=package) for extra in dependency.extras: if extra in package.extras: for dep in package.extras[extra]: dep.activate() for extra_dep in package.extras[extra]: package.add_dependency(extra_dep) dependency._constraint = package.version dependency._pretty_constraint = package.version.text self._deferred_cache[dependency] = package return [package]