Skip to content

Commit 51dfcbc

Browse files
authored
Merge pull request #110 from bennati/fix-duplicated-package-versions
Prevent duplicated package versions
2 parents e1ffca1 + 75fa6c4 commit 51dfcbc

File tree

6 files changed

+333
-333
lines changed

6 files changed

+333
-333
lines changed

src/python_inspector/resolution.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,20 +367,20 @@ def get_versions_for_package_from_repo(
367367
get_python_version_from_env_tag(python_version=self.environment.python_version)
368368
)
369369
wheels = list(package.get_supported_wheels(environment=self.environment))
370+
valid_wheel_present = False
371+
pypi_valid_python_version = False
370372
if wheels:
371-
valid_wheel_present = False
372373
for wheel in wheels:
373374
if utils_pypi.valid_python_version(
374375
python_requires=wheel.python_requires, python_version=python_version
375376
):
376377
valid_wheel_present = True
377-
if valid_wheel_present:
378-
versions.append(version)
379378
if package.sdist:
380-
if utils_pypi.valid_python_version(
379+
pypi_valid_python_version = utils_pypi.valid_python_version(
381380
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)
384384
return versions
385385

386386
def get_versions_for_package_from_pypi_json_api(self, name: str) -> List[Version]:

tests/data/azure-devops.req-310-expected.json

Lines changed: 131 additions & 131 deletions
Large diffs are not rendered by default.

tests/data/azure-devops.req-38-expected.json

Lines changed: 131 additions & 131 deletions
Large diffs are not rendered by default.

tests/data/insecure-setup-2/setup.py-expected.json

Lines changed: 21 additions & 21 deletions
Large diffs are not rendered by default.

tests/data/single-url-except-simple-expected.json

Lines changed: 40 additions & 40 deletions
Large diffs are not rendered by default.

tests/test_resolution.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,12 @@ def test_get_resolved_dependencies_with_tilde_requirement_using_json_api():
120120
assert plist == [
121121
"pkg:pypi/[email protected]",
122122
"pkg:pypi/[email protected]",
123-
"pkg:pypi/importlib-metadata@5.0.0",
123+
"pkg:pypi/importlib-metadata@6.0.0",
124124
"pkg:pypi/[email protected]",
125125
"pkg:pypi/[email protected]",
126126
"pkg:pypi/[email protected]",
127127
"pkg:pypi/[email protected]",
128-
"pkg:pypi/zipp@3.10.0",
128+
"pkg:pypi/zipp@3.11.0",
129129
]
130130

131131

@@ -146,11 +146,11 @@ def test_without_supported_wheels():
146146
assert plist == [
147147
"pkg:pypi/[email protected]",
148148
"pkg:pypi/[email protected]",
149-
"pkg:pypi/cryptography@38.0.3",
149+
"pkg:pypi/cryptography@39.0.0",
150150
"pkg:pypi/[email protected]",
151151
"pkg:pypi/[email protected]",
152152
"pkg:pypi/[email protected]",
153-
"pkg:pypi/setuptools@65.5.1",
153+
"pkg:pypi/setuptools@65.7.0",
154154
"pkg:pypi/[email protected]",
155155
]
156156

0 commit comments

Comments
 (0)