Skip to content

Commit c02c511

Browse files
dimblebyradoering
authored andcommitted
search_for should not raise ValueError
1 parent 17e059e commit c02c511

File tree

3 files changed

+4
-50
lines changed

3 files changed

+4
-50
lines changed

src/poetry/mixology/incompatibility.py

-8
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from poetry.mixology.incompatibility_cause import ConflictCause
66
from poetry.mixology.incompatibility_cause import DependencyCause
77
from poetry.mixology.incompatibility_cause import NoVersionsCause
8-
from poetry.mixology.incompatibility_cause import PackageNotFoundCause
98
from poetry.mixology.incompatibility_cause import PlatformCause
109
from poetry.mixology.incompatibility_cause import PythonCause
1110
from poetry.mixology.incompatibility_cause import RootCause
@@ -146,11 +145,6 @@ def __str__(self) -> str:
146145
f"no versions of {self._terms[0].dependency.name} match"
147146
f" {self._terms[0].constraint}"
148147
)
149-
elif isinstance(self._cause, PackageNotFoundCause):
150-
assert len(self._terms) == 1
151-
assert self._terms[0].is_positive()
152-
153-
return f"{self._terms[0].dependency.name} doesn't exist"
154148
elif isinstance(self._cause, RootCause):
155149
assert len(self._terms) == 1
156150
assert not self._terms[0].is_positive()
@@ -420,8 +414,6 @@ def _try_requires_forbidden(
420414
buffer.append(f"which requires Python {cause.python_version}")
421415
elif isinstance(latter.cause, NoVersionsCause):
422416
buffer.append("which doesn't match any versions")
423-
elif isinstance(latter.cause, PackageNotFoundCause):
424-
buffer.append("which doesn't exist")
425417
else:
426418
buffer.append("which is forbidden")
427419

src/poetry/mixology/incompatibility_cause.py

-14
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,3 @@ def __init__(self, platform: str) -> None:
7979
@property
8080
def platform(self) -> str:
8181
return self._platform
82-
83-
84-
class PackageNotFoundCause(IncompatibilityCause):
85-
"""
86-
The incompatibility represents a package that couldn't be found by its
87-
source.
88-
"""
89-
90-
def __init__(self, error: Exception) -> None:
91-
self._error = error
92-
93-
@property
94-
def error(self) -> Exception:
95-
return self._error

src/poetry/mixology/version_solver.py

+4-28
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import functools
44
import time
55

6-
from contextlib import suppress
76
from typing import TYPE_CHECKING
87

98
from poetry.core.packages.dependency import Dependency
@@ -12,7 +11,6 @@
1211
from poetry.mixology.incompatibility import Incompatibility
1312
from poetry.mixology.incompatibility_cause import ConflictCause
1413
from poetry.mixology.incompatibility_cause import NoVersionsCause
15-
from poetry.mixology.incompatibility_cause import PackageNotFoundCause
1614
from poetry.mixology.incompatibility_cause import RootCause
1715
from poetry.mixology.partial_solution import PartialSolution
1816
from poetry.mixology.result import SolverResult
@@ -395,10 +393,8 @@ def _get_min(dependency: Dependency) -> tuple[bool, int, int]:
395393
if locked:
396394
return is_specific_marker, Preference.LOCKED, 1
397395

398-
try:
399-
num_packages = len(self._dependency_cache.search_for(dependency))
400-
except ValueError:
401-
num_packages = 0
396+
num_packages = len(self._dependency_cache.search_for(dependency))
397+
402398
if num_packages < 2:
403399
preference = Preference.NO_CHOICE
404400
elif use_latest:
@@ -414,28 +410,8 @@ def _get_min(dependency: Dependency) -> tuple[bool, int, int]:
414410

415411
locked = self._provider.get_locked(dependency)
416412
if locked is None:
417-
try:
418-
packages = self._dependency_cache.search_for(dependency)
419-
except ValueError as e:
420-
self._add_incompatibility(
421-
Incompatibility([Term(dependency, True)], PackageNotFoundCause(e))
422-
)
423-
complete_name: str = dependency.complete_name
424-
return complete_name
425-
426-
package = None
427-
if locked is not None:
428-
package = next(
429-
(
430-
p
431-
for p in packages
432-
if p.package.version == locked.package.version
433-
),
434-
None,
435-
)
436-
if package is None:
437-
with suppress(IndexError):
438-
package = packages[0]
413+
packages = self._dependency_cache.search_for(dependency)
414+
package = next(iter(packages), None)
439415

440416
if package is None:
441417
# If there are no versions that satisfy the constraint,

0 commit comments

Comments
 (0)