Skip to content

Commit 12148d1

Browse files
committed
chore(pypi): add comment to clarify handling of trailing slash in URLs
Signed-off-by: Amine <[email protected]>
1 parent e0beed2 commit 12148d1

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/macaron/slsa_analyzer/package_registry/pypi_registry.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,10 +320,12 @@ def get_package_page(self, package_name: str) -> str | None:
320320
str | None
321321
The package main page.
322322
"""
323-
url = f"https://pypi.org/project/{package_name}/"
323+
# Important: trailing '/' avoids JS-based redirect; ensures Macaron can access the page directly
324+
url = urllib.parse.urljoin(self.registry_url, f"project/{package_name}/")
324325
response = send_get_http_raw(url)
325326
if response:
326-
return response.text
327+
html_snippets = response.content.decode("utf-8")
328+
return html_snippets
327329
return None
328330

329331
def get_maintainers_of_package(self, package_name: str) -> list | None:
@@ -359,7 +361,8 @@ def get_maintainer_profile_page(self, username: str) -> str | None:
359361
str | None
360362
The profile page.
361363
"""
362-
url = os.path.join(self.registry_url, "user", username)
364+
# Important: trailing '/' avoids JS-based redirect; ensures Macaron can access the page directly
365+
url = urllib.parse.urljoin(self.registry_url, f"user/{username}/")
363366
response = send_get_http_raw(url, headers=None)
364367
if response:
365368
html_snippets = response.content.decode("utf-8")

0 commit comments

Comments
 (0)