@@ -98,7 +98,7 @@ def __init__(self, importer: models.Importer, batch_size: int):
98
98
self .importer = importer
99
99
self .batch_size = batch_size
100
100
101
- def run (self , create_vulcodes = True , cutoff_date : datetime .datetime = None ) -> None :
101
+ def run (self , cutoff_date : datetime .datetime = None ) -> None :
102
102
"""
103
103
Create a data source for the given importer and store the data retrieved in the database.
104
104
@@ -112,7 +112,7 @@ def run(self, create_vulcodes=True, cutoff_date: datetime.datetime = None) -> No
112
112
logger .info (f"Starting import for { self .importer .name } ." )
113
113
data_source = self .importer .make_data_source (self .batch_size , cutoff_date = cutoff_date )
114
114
with data_source :
115
- process_advisories (data_source , create_vulcodes )
115
+ process_advisories (data_source )
116
116
self .importer .last_run = datetime .datetime .now (tz = datetime .timezone .utc )
117
117
self .importer .data_source_cfg = dataclasses .asdict (data_source .config )
118
118
self .importer .save ()
@@ -133,24 +133,25 @@ def get_vuln_pkg_refs(vulnerability, package):
133
133
)
134
134
135
135
136
- def process_advisories (data_source : DataSource , create_vulcodes ) -> None :
136
+ def process_advisories (data_source : DataSource ) -> None :
137
137
bulk_create_vuln_refs = set ()
138
138
bulk_create_vuln_pkg_refs = set ()
139
139
# Treat updated_advisories and added_advisories as same. Eventually
140
140
# we want to refactor all data sources to provide advisories via a
141
141
# single method.
142
- vulcoid = datetime .datetime .now ()
142
+ vulcoid_timestamp = datetime .datetime .now ()
143
143
advisory_batches = chain (data_source .updated_advisories (), data_source .added_advisories ())
144
144
for batch in advisory_batches :
145
145
for advisory in batch :
146
146
try :
147
147
148
- if not advisory .identifier and not create_vulcodes :
149
- continue
150
-
151
148
if not advisory .identifier :
152
- advisory .identifier = "VULCOID-" + vulcoid .strftime ("%Y-%m-%d-%H:%M:%S" )
153
- vulcoid += datetime .timedelta (seconds = 1 )
149
+ advisory .identifier = "VULCOID-" + vulcoid_timestamp .strftime (
150
+ "%Y-%m-%d-%H:%M:%S"
151
+ )
152
+ vulcoid_timestamp = max (
153
+ vulcoid_timestamp + datetime .timedelta (seconds = 1 ), datetime .datetime .now ()
154
+ )
154
155
155
156
vuln , vuln_created = _get_or_create_vulnerability (advisory )
156
157
for vuln_ref in advisory .vuln_references :
0 commit comments