Skip to content

fix: issue 795-download_url from purl when not provided#860

Open
RuchitAgrawal wants to merge 1 commit intoaboutcode-org:mainfrom
RuchitAgrawal:fix/issue-795-download-url-from-purl
Open

fix: issue 795-download_url from purl when not provided#860
RuchitAgrawal wants to merge 1 commit intoaboutcode-org:mainfrom
RuchitAgrawal:fix/issue-795-download-url-from-purl

Conversation

@RuchitAgrawal
Copy link
Copy Markdown

Fixes #795

Problem

Packages coming from federatedcode repos only carry a PURL and no
download_url. The unique constraint on Package.download_url prevented
these packages from being created in the database.

Solution

  • Added packagedb/purl_url_utils.py with two helper functions:
    • derive_download_url() — tries purl2url first, falls back to synthetic URL
    • generate_synthetic_download_url() — builds a purl://... URL from PURL components
  • Overrode Package.save() to auto-call derive_download_url() when download_url is empty
  • Added tests in packagedb/tests/test_purl_download_url.py

Signed-off-by: Ruchit Agrawal <rragrawal16@gmail.com>
@RuchitAgrawal RuchitAgrawal force-pushed the fix/issue-795-download-url-from-purl branch from 9f04fbd to e94ed1c Compare March 27, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cannot create packages from purls

1 participant