From 072e72b75e6ca9f2d3c64835e3c009bcdfc3da67 Mon Sep 17 00:00:00 2001 From: Albert Tugushev Date: Wed, 24 Jul 2019 21:13:31 +0300 Subject: [PATCH] Use _build_package_finder to make PackageFinder Turns out Command._build_package_finder avaiable since 8.1.1 --- piptools/repositories/pypi.py | 43 ++++++----------------------------- 1 file changed, 7 insertions(+), 36 deletions(-) diff --git a/piptools/repositories/pypi.py b/piptools/repositories/pypi.py index d2910e0ba..20ea0a0a7 100644 --- a/piptools/repositories/pypi.py +++ b/piptools/repositories/pypi.py @@ -13,7 +13,6 @@ FAVORITE_HASH, InstallCommand, Link, - PackageFinder, PyPI, RequirementSet, Resolver as PipResolver, @@ -74,10 +73,13 @@ def __init__(self, pip_args, build_isolation=False): # Use pip's parser for pip.conf management and defaults. # General options (find_links, index_url, extra_index_url, trusted_host, # and pre) are deferred to pip. - self.command = InstallCommand() - self.options, _ = self.command.parse_args(pip_args) - self.session = self.command._build_session(self.options) - self.finder = self._make_package_finder() + command = InstallCommand() + self.options, _ = command.parse_args(pip_args) + + self.session = command._build_session(self.options) + self.finder = command._build_package_finder( + options=self.options, session=self.session + ) # Caches # stores project_name => InstallationCandidate mappings for all @@ -95,37 +97,6 @@ def __init__(self, pip_args, build_isolation=False): self._download_dir = fs_str(os.path.join(CACHE_DIR, "pkgs")) self._wheel_download_dir = fs_str(os.path.join(CACHE_DIR, "wheels")) - def _make_package_finder(self): - """ - Create a PackageFinder. - """ - # Since pip 19.2 PackageFinder has been refactored - if get_pip_version() < parse_version("19.2"): - index_urls = [self.options.index_url] + self.options.extra_index_urls - if self.options.no_index: - index_urls = [] - - kwargs = { - "find_links": self.options.find_links, - "index_urls": index_urls, - "trusted_hosts": self.options.trusted_hosts, - "allow_all_prereleases": self.options.pre, - "session": self.session, - } - - # pip 19.0 has removed process_dependency_links - # from the PackageFinder constructor - if get_pip_version() < parse_version("19.0"): - kwargs[ - "process_dependency_links" - ] = self.options.process_dependency_links - - return PackageFinder(**kwargs) - else: - return self.command._build_package_finder( - options=self.options, session=self.session - ) - def freshen_build_caches(self): """ Start with fresh build/source caches. Will remove any old build