@@ -63,15 +63,18 @@ def supported_ecosystem(cls):
6363
6464
6565def parse_advisory (response ) -> Iterable [VendorData ]:
66- """Parse response from OSV API and yield VendorData"""
66+ """
67+ Parse response from OSV API and yield VendorData
68+ """
6769
6870 for vuln in response .get ("vulns" ) or []:
6971 aliases = []
7072 affected_versions = []
7173 fixed = []
7274
7375 aliases .extend (vuln .get ("aliases" ) or [])
74- aliases .append (vuln .get ("id" )) if vuln .get ("id" ) else None
76+ vuln_id = vuln .get ("id" )
77+ aliases .append (vuln_id ) if vuln_id else None
7578
7679 try :
7780 affected_versions .extend (get_item (vuln , "affected" , 0 , "versions" ) or [])
@@ -100,40 +103,43 @@ def generate_payload(purl):
100103 supported_ecosystem = OSVDataSource .supported_ecosystem ()
101104 payload = {}
102105 payload ["version" ] = purl .version
103- payload ["package" ] = {}
106+ package = payload ["package" ] = {}
104107
105- if purl .type in supported_ecosystem :
106- payload [ "package" ][ "ecosystem" ] = supported_ecosystem [ purl .type ]
108+ purl_type = purl .type
109+ purl_namespace = purl .namespace
107110
108- if purl .type == "maven" :
109- if not purl .namespace :
111+ if purl_type in supported_ecosystem :
112+ package ["ecosystem" ] = supported_ecosystem [purl_type ]
113+
114+ if purl_type == "maven" :
115+ if not purl_namespace :
110116 logger .error (f"Invalid Maven PURL { str (purl )} " )
111117 return
112- payload [ " package" ] ["name" ] = f"{ purl .namespace } :{ purl .name } "
118+ package ["name" ] = f"{ purl .namespace } :{ purl .name } "
113119
114- elif purl . type == "packagist" :
115- if not purl . namespace :
120+ elif purl_type == "packagist" :
121+ if not purl_namespace :
116122 logger .error (f"Invalid Packagist PURL { str (purl )} " )
117123 return
118- payload [ " package" ] ["name" ] = f"{ purl .namespace } /{ purl .name } "
124+ package ["name" ] = f"{ purl .namespace } /{ purl .name } "
119125
120- elif purl . type == "linux" :
126+ elif purl_type == "linux" :
121127 if purl .name not in ("kernel" , "Kernel" ):
122128 logger .error (f"Invalid Linux PURL { str (purl )} " )
123129 return
124- payload [ " package" ] ["name" ] = "Kernel"
130+ package ["name" ] = "Kernel"
125131
126- elif purl . type == "nuget" :
132+ elif purl_type == "nuget" :
127133 nuget_package = get_closest_nuget_package_name (purl .name )
128134 if not nuget_package :
129135 logger .error (f"Invalid NuGet PURL { str (purl )} " )
130136 return
131- payload [ " package" ] ["name" ] = nuget_package
137+ package ["name" ] = nuget_package
132138
133- elif purl . type == "golang" and purl . namespace :
134- payload [ " package" ] ["name" ] = f"{ purl .namespace } /{ purl .name } "
139+ elif purl_type == "golang" and purl_namespace :
140+ package ["name" ] = f"{ purl .namespace } /{ purl .name } "
135141
136142 else :
137- payload [ " package" ] ["name" ] = purl .name
143+ package ["name" ] = purl .name
138144
139145 return payload
0 commit comments