@@ -180,33 +180,36 @@ def process_inferences(inferences: List[Inference], advisory: Advisory, improver
180180 reference_id = ref .reference_id ,
181181 url = ref .url ,
182182 )
183- if not reference :
184- continue
185183
186- VulnerabilityRelatedReference .objects .update_or_create (
187- reference = reference ,
188- vulnerability = vulnerability ,
189- )
184+ if reference :
185+ VulnerabilityRelatedReference .objects .update_or_create (
186+ reference = reference ,
187+ vulnerability = vulnerability ,
188+ )
190189 updated = False
191190 for severity in ref .severities :
192191 try :
193192 published_at = str (severity .published_at ) if severity .published_at else None
194- _vs , updated = VulnerabilitySeverity .objects .update_or_create (
193+ (
194+ vulnerability_severity ,
195+ updated ,
196+ ) = VulnerabilitySeverity .objects .update_or_create (
195197 scoring_system = severity .system .identifier ,
196- reference = reference ,
198+ url = ref .url ,
199+ value = severity .value ,
200+ scoring_elements = severity .scoring_elements ,
197201 defaults = {
198- "value" : str (severity .value ),
199- "scoring_elements" : str (severity .scoring_elements ),
200202 "published_at" : published_at ,
201203 },
202204 )
205+ vulnerability .severities .add (vulnerability_severity )
203206 except :
204207 logger .error (
205208 f"Failed to create VulnerabilitySeverity for: { severity } with error:\n { traceback_format_exc ()} "
206209 )
207210 if updated :
208211 logger .info (
209- f"Severity updated for reference { ref !r} to value: { severity .value !r} "
212+ f"Severity updated for reference { ref . url !r} to value: { severity .value !r} "
210213 f"and scoring_elements: { severity .scoring_elements !r} "
211214 )
212215
0 commit comments