diff --git a/src/pip/_internal/commands/list.py b/src/pip/_internal/commands/list.py index 8b7c02fd0..cf71b13eb 100644 --- a/src/pip/_internal/commands/list.py +++ b/src/pip/_internal/commands/list.py @@ -197,7 +197,7 @@ class ListCommand(Command): continue remote_version = best_candidate.version - if best_candidate.location.is_wheel: + if best_candidate.link.is_wheel: typ = 'wheel' else: typ = 'sdist' diff --git a/src/pip/_internal/index.py b/src/pip/_internal/index.py index f601f1831..a1aaad59c 100644 --- a/src/pip/_internal/index.py +++ b/src/pip/_internal/index.py @@ -477,7 +477,7 @@ def filter_unallowed_hashes( non_matches = [] match_count = 0 for candidate in candidates: - link = candidate.location + link = candidate.link if not link.has_hash: pass elif link.is_hash_allowed(hashes=hashes): @@ -499,7 +499,7 @@ def filter_unallowed_hashes( else: discard_message = 'discarding {} non-matches:\n {}'.format( len(non_matches), - '\n '.join(str(candidate.location) for candidate in non_matches) + '\n '.join(str(candidate.link) for candidate in non_matches) ) logger.debug( @@ -689,7 +689,7 @@ class CandidateEvaluator(object): support_num = len(valid_tags) build_tag = tuple() # type: BuildTag binary_preference = 0 - link = candidate.location + link = candidate.link if link.is_wheel: # can raise InvalidWheelFilename wheel = Wheel(link.filename) @@ -729,7 +729,7 @@ class CandidateEvaluator(object): best_candidate = max(candidates, key=self._sort_key) # Log a warning per PEP 592 if necessary before returning. - link = best_candidate.location + link = best_candidate.link if link.is_yanked: reason = link.yanked_reason or '' msg = ( @@ -1138,7 +1138,7 @@ class PackageFinder(object): logger.debug( 'Local files found: %s', ', '.join([ - url_to_path(candidate.location.url) + url_to_path(candidate.link.url) for candidate in file_versions ]) ) @@ -1265,7 +1265,7 @@ class PackageFinder(object): best_candidate.version, _format_versions(candidates.iter_applicable()), ) - return best_candidate.location + return best_candidate.link def _get_pages(self, locations, project_name): # type: (Iterable[Link], str) -> Iterable[HTMLPage] @@ -1327,7 +1327,7 @@ class PackageFinder(object): return InstallationCandidate( project=link_evaluator.project_name, - location=link, + link=link, # Convert the Text result to str since InstallationCandidate # accepts str. version=str(result), diff --git a/src/pip/_internal/models/candidate.py b/src/pip/_internal/models/candidate.py index 3904de177..1b99690f2 100644 --- a/src/pip/_internal/models/candidate.py +++ b/src/pip/_internal/models/candidate.py @@ -13,24 +13,24 @@ class InstallationCandidate(KeyBasedCompareMixin): """Represents a potential "candidate" for installation. """ - def __init__(self, project, version, location): + def __init__(self, project, version, link): # type: (Any, str, Link) -> None self.project = project self.version = parse_version(version) # type: _BaseVersion - self.location = location + self.link = link super(InstallationCandidate, self).__init__( - key=(self.project, self.version, self.location), + key=(self.project, self.version, self.link), defining_class=InstallationCandidate ) def __repr__(self): # type: () -> str return "".format( - self.project, self.version, self.location, + self.project, self.version, self.link, ) def __str__(self): return '{!r} candidate (version {} at {})'.format( - self.project, self.version, self.location, + self.project, self.version, self.link, ) diff --git a/tests/unit/test_finder.py b/tests/unit/test_finder.py index 8810f30b9..0e0c41081 100644 --- a/tests/unit/test_finder.py +++ b/tests/unit/test_finder.py @@ -262,8 +262,8 @@ def test_finder_priority_file_over_page(data): ) all_versions = finder.find_all_candidates(req.name) # 1 file InstallationCandidate followed by all https ones - assert all_versions[0].location.scheme == 'file' - assert all(version.location.scheme == 'https' + assert all_versions[0].link.scheme == 'file' + assert all(version.link.scheme == 'https' for version in all_versions[1:]), all_versions link = finder.find_requirement(req, False) @@ -279,8 +279,8 @@ def test_finder_priority_nonegg_over_eggfragments(): with patch.object(finder, "_get_pages", lambda x, y: []): all_versions = finder.find_all_candidates(req.name) - assert all_versions[0].location.url.endswith('tar.gz') - assert all_versions[1].location.url.endswith('#egg=bar-1.0') + assert all_versions[0].link.url.endswith('tar.gz') + assert all_versions[1].link.url.endswith('#egg=bar-1.0') link = finder.find_requirement(req, False) @@ -291,8 +291,8 @@ def test_finder_priority_nonegg_over_eggfragments(): with patch.object(finder, "_get_pages", lambda x, y: []): all_versions = finder.find_all_candidates(req.name) - assert all_versions[0].location.url.endswith('tar.gz') - assert all_versions[1].location.url.endswith('#egg=bar-1.0') + assert all_versions[0].link.url.endswith('tar.gz') + assert all_versions[1].link.url.endswith('#egg=bar-1.0') link = finder.find_requirement(req, False) assert link.url.endswith('tar.gz') diff --git a/tests/unit/test_models.py b/tests/unit/test_models.py index ab9a2c9dd..c922dc773 100644 --- a/tests/unit/test_models.py +++ b/tests/unit/test_models.py @@ -49,7 +49,7 @@ class TestInstallationCandidate(object): ) assert obj.project == "A" assert obj.version == parse_version("1.0.0") - assert obj.location == "https://somewhere.com/path/A-1.0.0.tar.gz" + assert obj.link == "https://somewhere.com/path/A-1.0.0.tar.gz" # NOTE: This isn't checking the ordering logic; only the data provided to # it is correct. @@ -57,4 +57,4 @@ class TestInstallationCandidate(object): obj = candidate.InstallationCandidate( "A", "1.0.0", "https://somewhere.com/path/A-1.0.0.tar.gz" ) - assert obj._compare_key == (obj.project, obj.version, obj.location) + assert obj._compare_key == (obj.project, obj.version, obj.link)