Skip to content

Commit 0ac0e67

Browse files
committed
Address review comments
Signed-off-by: Tushar Goel <[email protected]>
1 parent d1b1f34 commit 0ac0e67

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

vulnerabilities/pipelines/fill_vulnerability_summary_pipeline.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import logging
1111

12+
from aboutcode.pipeline import LoopProgress
1213
from django.db.models import Q
1314

1415
from vulnerabilities.models import Advisory
@@ -27,7 +28,7 @@ def steps(cls):
2728

2829
def fill_missing_summaries(self):
2930
"""Find vulnerabilities without summaries and fill them using advisories with the same aliases."""
30-
vulnerabilities_qs = Vulnerability.objects.filter(summary="").prefetch_related("aliases")
31+
vulnerabilities_qs = Vulnerability.objects.filter(summary="")
3132
self.log(
3233
f"Processing {vulnerabilities_qs.count()} vulnerabilities without summaries",
3334
level=logging.INFO,
@@ -36,11 +37,13 @@ def fill_missing_summaries(self):
3637
created_by="nvd_importer", summary__isnull=False
3738
).exclude(summary="")
3839
self.log(
39-
f"Found {nvd_importer_advisories.count()} advisories from NVD importer",
40+
f"Found {nvd_importer_advisories.count()} advisories with summaries from NVD importer",
4041
level=logging.INFO,
4142
)
4243

43-
for vulnerability in vulnerabilities_qs.paginated():
44+
progress = LoopProgress(total_iterations=vulnerabilities_qs.count(), logger=self.log)
45+
46+
for vulnerability in progress.iter(vulnerabilities_qs.paginated()):
4447
aliases = vulnerability.aliases.values_list("alias", flat=True)
4548
# get alias that start with CVE- with filter
4649
alias = aliases.filter(alias__startswith="CVE-").first()
@@ -60,6 +63,7 @@ def fill_missing_summaries(self):
6063
# Take the first matching advisory with a summary
6164
# get the advisory that was collected the most recently
6265
best_advisory = matching_advisories.order_by("-date_collected").first()
66+
# Note: we filtered above to only get non-empty summaries
6367
vulnerability.summary = best_advisory.summary
6468
vulnerability.save()
6569
self.log(

0 commit comments

Comments
 (0)