Skip to content

Commit

Permalink
Generate Download URL from purl in Add package #14
Browse files Browse the repository at this point in the history
Signed-off-by: tdruez <tdruez@nexb.com>
  • Loading branch information
tdruez committed Feb 12, 2024
1 parent c8869a0 commit 4335fa1
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions component_catalog/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
from natsort import natsorted
from notifications.signals import notify
from packageurl import PackageURL
from packageurl.contrib import purl2url
from packageurl.contrib import url2purl

from component_catalog.filters import ComponentFilterSet
Expand Down Expand Up @@ -1897,11 +1898,6 @@ def get_initial(self):
"""Pre-fill the form with initial data from a PurlDB entry or a `package_url`."""
initial = super().get_initial()

if package_url := self.request.GET.get("package_url", None):
purl = PackageURL.from_string(package_url)
package_url_dict = purl.to_dict(encode=True, empty="")
initial.update(package_url_dict)

if purldb_entry := self.get_entry_from_purldb():
purldb_entry["license_expression"] = purldb_entry.get("declared_license_expression")
model_fields = [
Expand All @@ -1917,6 +1913,13 @@ def get_initial(self):
}
initial.update(initial_from_purldb_entry)

elif package_url := self.request.GET.get("package_url", None):
purl = PackageURL.from_string(package_url)
package_url_dict = purl.to_dict(encode=True, empty="")
initial.update(package_url_dict)
if download_url := purl2url.get_download_url(package_url):
initial.update({"download_url": download_url})

return initial

def get_entry_from_purldb(self):
Expand Down

0 comments on commit 4335fa1

Please sign in to comment.