Skip to content

Commit 77718d9

Browse files
authored
fix: Use correct timezone, and write timestamp directly (google#3493)
Use correct timezone, and write timestamp to avoid ValueError from records with no modified time.
1 parent 8519756 commit 77718d9

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

osv/sources.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515
"""Importer sources."""
16-
import datetime
1716
import json
1817
import hashlib
1918
import logging
@@ -215,7 +214,7 @@ def vulnerability_to_dict(vulnerability):
215214

216215

217216
def _write_vulnerability_dict(data, output_path,
218-
modified_date: datetime.datetime):
217+
modified_date_timestamp: float):
219218
"""Write a vulnerability dict to disk."""
220219
with open(output_path, 'w') as f:
221220
ext = os.path.splitext(output_path)[1]
@@ -226,7 +225,7 @@ def _write_vulnerability_dict(data, output_path,
226225
else:
227226
raise RuntimeError('Unknown format ' + ext)
228227

229-
os.utime(output_path, (modified_date.timestamp(), modified_date.timestamp()))
228+
os.utime(output_path, (modified_date_timestamp, modified_date_timestamp))
230229

231230

232231
def write_vulnerability(vulnerability: vulnerability_pb2.Vulnerability,
@@ -247,8 +246,11 @@ def write_vulnerability(vulnerability: vulnerability_pb2.Vulnerability,
247246
vuln_data = _get_nested_vulnerability(data, key_path)
248247
vuln_data.clear()
249248
vuln_data.update(vulnerability_to_dict(vulnerability))
250-
_write_vulnerability_dict(data, output_path,
251-
vulnerability.modified.ToDatetime())
249+
dt_timestamp = vulnerability.modified.seconds
250+
if dt_timestamp == 0:
251+
logging.warning('Record has no modified time: %s', vulnerability.id)
252+
253+
_write_vulnerability_dict(data, output_path, dt_timestamp)
252254

253255

254256
def vulnerability_has_range(vulnerability, introduced, fixed):

0 commit comments

Comments
 (0)