Skip to content

Commit 8457bfb

Browse files
committed
Add handling for PyPI 404
Now that warehouse set cors to 404, (pypi/warehouse#16339) we need to change the checked exceptions as there is no more network errors.
1 parent c7dfa4e commit 8457bfb

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

micropip/package_index.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from packaging.utils import InvalidWheelFilename
1111
from packaging.version import InvalidVersion, Version
1212

13-
from ._compat import fetch_string_and_headers
13+
from ._compat import HttpStatusError, fetch_string_and_headers
1414
from ._utils import is_package_compatible, parse_version
1515
from .externals.mousebender.simple import from_project_details_html
1616
from .wheelinfo import WheelInfo
@@ -276,11 +276,16 @@ async def query_package(
276276

277277
try:
278278
metadata, headers = await fetch_string_and_headers(url, _fetch_kwargs)
279-
except OSError:
280-
continue
279+
except HttpStatusError as e:
280+
if e.status_code == 404:
281+
continue
282+
raise
281283

282284
content_type = headers.get("content-type", "").lower()
283-
parser = _select_parser(content_type, name)
285+
try:
286+
parser = _select_parser(content_type, name)
287+
except ValueError as e:
288+
raise ValueError(f"Error trying to decode url: {url}") from e
284289
return parser(metadata)
285290
else:
286291
raise ValueError(

0 commit comments

Comments
 (0)