Skip to content

Commit 3fadb88

Browse files
Fix URL handling that can lead to silent failures
1 parent 98576dc commit 3fadb88

File tree

1 file changed

+5
-2
lines changed
  • packages/pyodide-kernel/py/piplite/piplite

1 file changed

+5
-2
lines changed

packages/pyodide-kernel/py/piplite/piplite/cli.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ def add_requirement(self, req: str):
5050

5151

5252
REQ_FILE_PREFIX = r"^(-r|--requirements)\s*=?\s*(.*)\s*"
53-
INDEX_URL_PREFIX = r"^(--index-url|-i)\s*=?\s*(.*)\s*"
53+
54+
# Matches a pip-style index URL, with support for quote enclosures
55+
INDEX_URL_PREFIX = r'^(--index-url|-i)\s*=?\s*(?:"([^"]*)"|\047([^\047]*)\047|([^\s]*))\s*$'
5456

5557

5658
__all__ = ["get_transformed_code"]
@@ -259,7 +261,8 @@ async def _packages_from_requirements_line(
259261
# Check for index URL - this becomes the new active index URL.
260262
index_match = re.match(INDEX_URL_PREFIX, req)
261263
if index_match:
262-
context.index_url = index_match[2].strip()
264+
url = next(group for group in index_match.groups()[1:] if group is not None)
265+
context.index_url = url.strip()
263266
return
264267

265268
if req.startswith("-"):

0 commit comments

Comments
 (0)