@@ -70,17 +70,23 @@ def do_import(self, advisories) -> None:
7070 if advisory .date_imported :
7171 continue
7272 logger .info (f"Processing advisory: { advisory !r} " )
73+ advisory_data = None
74+ inferences = None
7375 try :
74- inferences = advisory_importer .get_inferences (
75- advisory_data = advisory .to_advisory_data ()
76- )
76+ advisory_data = advisory .to_advisory_data ()
77+ inferences = advisory_importer .get_inferences (advisory_data = advisory_data )
7778 process_inferences (
7879 inferences = inferences ,
7980 advisory = advisory ,
8081 improver_name = importer_name ,
8182 )
82- except Exception as e :
83- logger .info (f"Failed to process advisory: { advisory !r} with error { e !r} " )
83+ except Exception :
84+ from pprint import pformat
85+
86+ logger .warning (
87+ f"Failed to process advisory:\n { pformat (advisory_data .to_dict ())} \n \n "
88+ f"with error:\n { traceback_format_exc ()} \n \n "
89+ )
8490 logger .info ("Finished importing using %s." , advisory_importer .__class__ .qualified_name )
8591
8692 def process_advisories (
@@ -181,17 +187,23 @@ def process_inferences(inferences: List[Inference], advisory: Advisory, improver
181187 reference = reference ,
182188 vulnerability = vulnerability ,
183189 )
184-
190+ updated = False
185191 for severity in ref .severities :
186- _vs , updated = VulnerabilitySeverity .objects .update_or_create (
187- scoring_system = severity .system .identifier ,
188- reference = reference ,
189- defaults = {
190- "value" : str (severity .value ),
191- "scoring_elements" : str (severity .scoring_elements ),
192- "published_at" : str (severity .published_at ),
193- },
194- )
192+ try :
193+ published_at = str (severity .published_at ) if severity .published_at else None
194+ _vs , updated = VulnerabilitySeverity .objects .update_or_create (
195+ scoring_system = severity .system .identifier ,
196+ reference = reference ,
197+ defaults = {
198+ "value" : str (severity .value ),
199+ "scoring_elements" : str (severity .scoring_elements ),
200+ "published_at" : published_at ,
201+ },
202+ )
203+ except :
204+ logger .error (
205+ f"Failed to create VulnerabilitySeverity for: { severity } with error:\n { traceback_format_exc ()} "
206+ )
195207 if updated :
196208 logger .info (
197209 f"Severity updated for reference { ref !r} to value: { severity .value !r} "
0 commit comments