|
18 | 18 | from typing import Union |
19 | 19 | from zipfile import ZipFile |
20 | 20 |
|
21 | | -import packaging.utils |
| 21 | +import packvers.utils |
22 | 22 | from packageurl import PackageURL |
23 | | -from packaging.requirements import Requirement |
24 | | -from packaging.version import LegacyVersion |
25 | | -from packaging.version import Version |
26 | | -from packaging.version import parse as parse_version |
| 23 | +from packvers.requirements import Requirement |
| 24 | +from packvers.version import LegacyVersion |
| 25 | +from packvers.version import Version |
| 26 | +from packvers.version import parse as parse_version |
27 | 27 | from resolvelib import AbstractProvider |
28 | 28 | from resolvelib.structs import DirectedGraph |
29 | 29 |
|
@@ -325,7 +325,7 @@ def __init__( |
325 | 325 |
|
326 | 326 | def identify(self, requirement_or_candidate: Union[Candidate, Requirement]) -> str: |
327 | 327 | """Given a requirement, return an identifier for it. Overridden.""" |
328 | | - name = packaging.utils.canonicalize_name(requirement_or_candidate.name) |
| 328 | + name = packvers.utils.canonicalize_name(requirement_or_candidate.name) |
329 | 329 | if requirement_or_candidate.extras: |
330 | 330 | extras_str = ",".join(sorted(requirement_or_candidate.extras)) |
331 | 331 | return "{}[{}]".format(name, extras_str) |
@@ -367,20 +367,20 @@ def get_versions_for_package_from_repo( |
367 | 367 | get_python_version_from_env_tag(python_version=self.environment.python_version) |
368 | 368 | ) |
369 | 369 | wheels = list(package.get_supported_wheels(environment=self.environment)) |
| 370 | + valid_wheel_present = False |
| 371 | + pypi_valid_python_version = False |
370 | 372 | if wheels: |
371 | | - valid_wheel_present = False |
372 | 373 | for wheel in wheels: |
373 | 374 | if utils_pypi.valid_python_version( |
374 | 375 | python_requires=wheel.python_requires, python_version=python_version |
375 | 376 | ): |
376 | 377 | valid_wheel_present = True |
377 | | - if valid_wheel_present: |
378 | | - versions.append(version) |
379 | 378 | if package.sdist: |
380 | | - if utils_pypi.valid_python_version( |
| 379 | + pypi_valid_python_version = utils_pypi.valid_python_version( |
381 | 380 | python_requires=package.sdist.python_requires, python_version=python_version |
382 | | - ): |
383 | | - versions.append(version) |
| 381 | + ) |
| 382 | + if valid_wheel_present or pypi_valid_python_version: |
| 383 | + versions.append(version) |
384 | 384 | return versions |
385 | 385 |
|
386 | 386 | def get_versions_for_package_from_pypi_json_api(self, name: str) -> List[Version]: |
@@ -576,7 +576,7 @@ def _iter_dependencies(self, candidate: Candidate) -> Generator[Requirement, Non |
576 | 576 | """ |
577 | 577 | Yield dependencies for the given candidate. |
578 | 578 | """ |
579 | | - name = packaging.utils.canonicalize_name(candidate.name) |
| 579 | + name = packvers.utils.canonicalize_name(candidate.name) |
580 | 580 | # TODO: handle extras https://github.com/nexB/python-inspector/issues/10 |
581 | 581 | if candidate.extras: |
582 | 582 | r = f"{name}=={candidate.version}" |
|
0 commit comments