@@ -26,37 +26,26 @@ def updated_advisories(self):
2626
2727 @staticmethod
2828 def to_advisory (score_data ):
29+ systems_by_version = {
30+ "2.0" : severity_systems .CVSSV2 ,
31+ "3" : severity_systems .CVSSV3 ,
32+ "3.1" : severity_systems .CVSSV31 ,
33+ }
2934 advisories = []
35+
3036 for cve_id in score_data :
3137 severities = []
3238 for cvss_score in score_data [cve_id ]["cvss" ]:
33- score = None
34- vector = None
35- if cvss_score ["version" ] == "2.0" :
36- score = VulnerabilitySeverity (
37- system = severity_systems .CVSSV2 , value = str (cvss_score ["score" ])
38- )
39- vector = VulnerabilitySeverity (
40- system = severity_systems .CVSSV2_VECTOR , value = str (cvss_score ["vector" ])
41- )
42-
43- elif cvss_score ["version" ] == "3" :
44- score = VulnerabilitySeverity (
45- system = severity_systems .CVSSV3 , value = str (cvss_score ["score" ])
46- )
47- vector = VulnerabilitySeverity (
48- system = severity_systems .CVSSV3_VECTOR , value = str (cvss_score ["vector" ])
49- )
50-
51- elif cvss_score ["version" ] == "3.1" :
52- score = VulnerabilitySeverity (
53- system = severity_systems .CVSSV31 , value = str (cvss_score ["score" ])
54- )
55- vector = VulnerabilitySeverity (
56- system = severity_systems .CVSSV31_VECTOR , value = str (cvss_score ["vector" ])
57- )
58-
59- severities .extend ([score , vector ])
39+ cvss_version = cvss_score ["version" ]
40+ scoring_system = systems_by_version [cvss_version ]
41+ base_score = str (cvss_score ["score" ])
42+ vector = str (cvss_score .get ("vector" , "" ))
43+ score = VulnerabilitySeverity (
44+ system = scoring_system ,
45+ value = base_score ,
46+ scoring_elements = vector ,
47+ )
48+ severities .append (score )
6049
6150 advisories .append (
6251 AdvisoryData (
0 commit comments