Update AUE exceptions (#927)

This commit is contained in:
Ross Scroggs
2019-05-15 17:29:37 -07:00
committed by Jay Lee
parent 4808f18ca0
commit a1bce42387
2 changed files with 59 additions and 0 deletions

57
src/tools/parse-aue.py Normal file
View File

@@ -0,0 +1,57 @@
from xml.etree import ElementTree as ET
import requests
from html.parser import HTMLParser
import string
import dateutil.parser
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
global next_data_is_oem, next_data_is_td
if tag == 'h2' and attrs == [('class', 'zippy')]:
next_data_is_oem = True
elif tag == 'td':
next_data_is_td = True
def handle_data(self, data):
global oem, next_data_is_oem, next_data_is_td, data_is_date, model, printable
if next_data_is_oem:
oem = ''.join(filter(lambda x: x in printable, data))
next_data_is_oem = False
elif next_data_is_td:
if data_is_date:
if model.lower().startswith(oem.lower()):
fullname = model
else:
fullname = '%s %s' % (oem, model)
date = dateutil.parser.parse(data).replace(day=1).strftime('%Y-%m-%dT00:00:00.000Z')
print(' "%s": "%s",' % (fullname, date))
if fullname in exceptions:
for value in exceptions[fullname]:
print(' "%s": "%s",' % (value, date))
data_is_date = False
else:
model = ''.join(filter(lambda x: x in printable, data)).replace('"', '\\"')
data_is_date = True
next_data_is_td = False
global oem, next_data_is_oem, next_data_is_td, data_is_date, model, printable, exceptions
printable = set(string.printable)
exceptions = {
# 'AUE "OEM MODEL': ['API MODEL 1', ...]
'Acer Chromebook 11 (C720, C720P)': ['Acer C720 Chromebook', 'Acer C740 Chromebook'],
'Acer Chromebook 315 (CB315-2H)': ['Acer Chromebook 315'],
'CTL Chromebook NL7 / NL7T-360 / NL7TW-360': ['CTL Chromebook NL7'],
'Lenovo ThinkPad 11e 3rd Gen Chromebook': ['ThinkPad 11e Chromebook 3rd Gen (Yoga/Clamshell)'],
'Samsung Chromebook - XE303': ['Samsung Chromebook'],
'HP Chromebook 11 G1': ['HP Chromebook 11 1100-1199 / HP Chromebook 11 G1'],
'HP Chromebook 14 G4': ['HP Chromebook 14 ak000-099 / HP Chromebook 14 G4'],
'HP Chromebook 14 G5': ['HP Chromebook 14 / HP Chromebook 14 G5'],
}
next_data_is_oem = False
next_data_is_td = False
data_is_date = False
auepage = requests.get('https://support.google.com/chrome/a/answer/6220366?hl=en')
print('cros_aue = {')
parser = MyHTMLParser()
parser.feed(auepage.content.decode('utf-8'))
print('}')

View File

@@ -720,7 +720,9 @@ CROS_AUE_DATES = {
"HP Chromebook 14": "2019-06-01T00:00:00.000Z",
"HP Chromebook 14 G3": "2019-10-01T00:00:00.000Z",
"HP Chromebook 14 G4": "2021-09-01T00:00:00.000Z",
"HP Chromebook 14 ak000-099 / HP Chromebook 14 G4": "2021-09-01T00:00:00.000Z",
"HP Chromebook 14 G5": "2023-11-01T00:00:00.000Z",
"HP Chromebook 14 / HP Chromebook 14 G5": "2023-11-01T00:00:00.000Z",
"HP Chromebook 14A G5": "2025-06-01T00:00:00.000Z",
"HP Chromebook x360 11 G1 EE": "2023-11-01T00:00:00.000Z",
"HP Chromebook x360 11 G2 EE": "2025-06-01T00:00:00.000Z",