Skip to content

Commit c31906e

Browse files
committed
conditionally fetch dependencies
Signed-off-by: tdruez <tdruez@aboutcode.org>
1 parent 09349a4 commit c31906e

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

product_portfolio/importers.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -690,13 +690,7 @@ def __init__(
690690
self.infer_download_urls = infer_download_urls
691691
self.create_dependencies = create_dependencies
692692

693-
scancodeio = ScanCodeIO(user.dataspace)
694-
self.packages = scancodeio.fetch_project_packages(self.project_uuid)
695-
self.dependencies = scancodeio.fetch_project_dependencies(self.project_uuid)
696-
697-
if not self.packages and not self.dependencies:
698-
raise Exception("Packages could not be fetched from ScanCode.io")
699-
693+
# Pre-fetch once to avoid repeated DB lookups in DefaultOnAdditionMixin.save().
700694
dataspace = product.dataspace
701695
self.default_review_status = ProductRelationStatus.objects.get_default_on_addition_qs(
702696
dataspace
@@ -705,6 +699,14 @@ def __init__(
705699
dataspace
706700
).first()
707701

702+
scancodeio = ScanCodeIO(user.dataspace)
703+
self.packages = scancodeio.fetch_project_packages(self.project_uuid)
704+
if not self.packages:
705+
raise Exception("Packages could not be fetched from ScanCode.io")
706+
707+
if self.create_dependencies:
708+
self.dependencies = scancodeio.fetch_project_dependencies(self.project_uuid)
709+
708710
def save(self):
709711
self.import_packages()
710712

0 commit comments

Comments
 (0)