Skip to content

Commit 6569c64

Browse files
committed
Add support for v2 fields in AdvisoryData.to_dict()
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent abf81d5 commit 6569c64

File tree

2 files changed

+45
-3
lines changed

2 files changed

+45
-3
lines changed

vulnerabilities/importer.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,22 @@ def clean_summary(self, summary):
458458
return summary
459459

460460
def to_dict(self):
461+
is_adv_v2 = (
462+
self.severities
463+
or self.references_v2
464+
or (self.affected_packages and isinstance(self.affected_packages[0], AffectedPackageV2))
465+
)
466+
if is_adv_v2:
467+
return {
468+
"aliases": self.aliases,
469+
"summary": self.summary,
470+
"affected_packages": [pkg.to_dict() for pkg in self.affected_packages],
471+
"references_v2": [ref.to_dict() for ref in self.references_v2],
472+
"severities": [sev.to_dict() for sev in self.severities],
473+
"date_published": self.date_published.isoformat() if self.date_published else None,
474+
"weaknesses": self.weaknesses,
475+
"url": self.url if self.url else "",
476+
}
461477
return {
462478
"aliases": self.aliases,
463479
"summary": self.summary,

vulnerabilities/tests/test_data/archlinux/archlinux_advisoryv2-expected.json

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@
1818
"fixed_version_range": "vers:alpm/2.4.0-1"
1919
}
2020
],
21-
"references": [],
21+
"references_v2": [
22+
{
23+
"reference_id": "AVG-2781",
24+
"reference_type": "",
25+
"url": "https://security.archlinux.org/AVG-2781"
26+
}
27+
],
28+
"severities": [],
2229
"date_published": null,
2330
"weaknesses": [],
2431
"url": "https://security.archlinux.org/AVG-2781.json"
@@ -44,7 +51,14 @@
4451
"fixed_version_range": "vers:alpm/2.36.4-1"
4552
}
4653
],
47-
"references": [],
54+
"references_v2": [
55+
{
56+
"reference_id": "AVG-2780",
57+
"reference_type": "",
58+
"url": "https://security.archlinux.org/AVG-2780"
59+
}
60+
],
61+
"severities": [],
4862
"date_published": null,
4963
"weaknesses": [],
5064
"url": "https://security.archlinux.org/AVG-2780.json"
@@ -69,7 +83,19 @@
6983
"fixed_version_range": "vers:alpm/1.0.6-6"
7084
}
7185
],
72-
"references": [],
86+
"references_v2": [
87+
{
88+
"reference_id": "AVG-4",
89+
"reference_type": "",
90+
"url": "https://security.archlinux.org/AVG-4"
91+
},
92+
{
93+
"reference_id": "ASA-201702-19",
94+
"reference_type": "",
95+
"url": "https://security.archlinux.org/ASA-201702-19"
96+
}
97+
],
98+
"severities": [],
7399
"date_published": null,
74100
"weaknesses": [],
75101
"url": "https://security.archlinux.org/AVG-4.json"

0 commit comments

Comments
 (0)