Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.

Commit a8eefd0

Browse files
committed
handle datetimelist element type
1 parent dc230f1 commit a8eefd0

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/cert_vuldata/json_dump_parser.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,27 @@ def process_raw_element(element):
9999

100100
return(element_name, datestr)
101101

102+
# is it datetimelist?
103+
raw_value = element.get('datetimelist')
104+
if raw_value is not None:
105+
rv = raw_value['datetime']
106+
values = [x['0'] for x in rv]
107+
108+
# we only care about the first one anyway
109+
ln_datestr = list(set(values))[0]
110+
111+
rfc_datestr = re.sub(',\d\d', '', ln_datestr)
112+
if '-' in rfc_datestr:
113+
rfc_datestr = rfc_datestr + '00'
114+
115+
try:
116+
datestr = parser.parse(rfc_datestr).isoformat('T')
117+
except ValueError as e:
118+
print("Unable to parse: '{}'".format(rfc_datestr))
119+
raise e
120+
121+
return(element_name, datestr)
122+
102123
# is it number?
103124
raw_value = element.get('number')
104125
if raw_value is not None:

0 commit comments

Comments
 (0)