diff options
author | Nick Brassel <nick@tzarc.org> | 2021-02-28 07:22:21 +1100 |
---|---|---|
committer | Nick Brassel <nick@tzarc.org> | 2021-02-28 07:22:21 +1100 |
commit | 1a5f6b54aff179732e3f4f4eb79e47454f0a1eb5 (patch) | |
tree | ebf645f55cb0442899c894765b1af4344fb734db /lib/python/qmk/cli/generate/api.py | |
parent | 804d5c1c5d59d9a12c1d793289ccbd59cb650ec2 (diff) | |
parent | 624359b725c9bfe8176cf72cdc2c8bbb7513949f (diff) |
2021 February 27 Breaking Changes Update (#12040)
Diffstat (limited to 'lib/python/qmk/cli/generate/api.py')
-rwxr-xr-x | lib/python/qmk/cli/generate/api.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/python/qmk/cli/generate/api.py b/lib/python/qmk/cli/generate/api.py index 66db37cb52..6d111f244c 100755 --- a/lib/python/qmk/cli/generate/api.py +++ b/lib/python/qmk/cli/generate/api.py @@ -8,6 +8,7 @@ from milc import cli from qmk.datetime import current_datetime from qmk.info import info_json +from qmk.info_json_encoder import InfoJSONEncoder from qmk.keyboard import list_keyboards @@ -44,15 +45,16 @@ def generate_api(cli): if 'usb' in kb_all['keyboards'][keyboard_name]: usb = kb_all['keyboards'][keyboard_name]['usb'] - if usb['vid'] not in usb_list['devices']: + if 'vid' in usb and usb['vid'] not in usb_list['devices']: usb_list['devices'][usb['vid']] = {} - if usb['pid'] not in usb_list['devices'][usb['vid']]: + if 'pid' in usb and usb['pid'] not in usb_list['devices'][usb['vid']]: usb_list['devices'][usb['vid']][usb['pid']] = {} - usb_list['devices'][usb['vid']][usb['pid']][keyboard_name] = usb + if 'vid' in usb and 'pid' in usb: + usb_list['devices'][usb['vid']][usb['pid']][keyboard_name] = usb # Write the global JSON files - keyboard_list.write_text(json.dumps({'last_updated': current_datetime(), 'keyboards': sorted(kb_all['keyboards'])})) - keyboard_all.write_text(json.dumps(kb_all)) - usb_file.write_text(json.dumps(usb_list)) + keyboard_list.write_text(json.dumps({'last_updated': current_datetime(), 'keyboards': sorted(kb_all['keyboards'])}, cls=InfoJSONEncoder)) + keyboard_all.write_text(json.dumps(kb_all, cls=InfoJSONEncoder)) + usb_file.write_text(json.dumps(usb_list, cls=InfoJSONEncoder)) |