diff options
author | Zach White <skullydazed@gmail.com> | 2020-12-30 10:27:37 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-30 10:27:37 -0800 |
commit | 47b9b110097a864d6ab76516b2213afd59948527 (patch) | |
tree | 44c4e034c71b361af0cf865b735e09162bbc9656 /lib/python/qmk/cli/generate/api.py | |
parent | f231f24ddaac9781201a4ec9d0171c65af788839 (diff) | |
download | qmk_firmware-47b9b110097a864d6ab76516b2213afd59948527.tar.gz qmk_firmware-47b9b110097a864d6ab76516b2213afd59948527.zip |
Configure keyboard matrix from info.json (#10817)
* Make parameters from info.json available to the build system
* move all clueboard settings to info.json
* code formatting
* make flake8 happy
* make flake8 happy
* make qmk lint happy
* Add support for specifying led indicators in json
* move led indicators to the clueboard info.json
* Apply suggestions from code review
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* add missing docstring
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
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 66db37cb5..6d111f244 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 | |||
8 | 8 | ||
9 | from qmk.datetime import current_datetime | 9 | from qmk.datetime import current_datetime |
10 | from qmk.info import info_json | 10 | from qmk.info import info_json |
11 | from qmk.info_json_encoder import InfoJSONEncoder | ||
11 | from qmk.keyboard import list_keyboards | 12 | from qmk.keyboard import list_keyboards |
12 | 13 | ||
13 | 14 | ||
@@ -44,15 +45,16 @@ def generate_api(cli): | |||
44 | if 'usb' in kb_all['keyboards'][keyboard_name]: | 45 | if 'usb' in kb_all['keyboards'][keyboard_name]: |
45 | usb = kb_all['keyboards'][keyboard_name]['usb'] | 46 | usb = kb_all['keyboards'][keyboard_name]['usb'] |
46 | 47 | ||
47 | if usb['vid'] not in usb_list['devices']: | 48 | if 'vid' in usb and usb['vid'] not in usb_list['devices']: |
48 | usb_list['devices'][usb['vid']] = {} | 49 | usb_list['devices'][usb['vid']] = {} |
49 | 50 | ||
50 | if usb['pid'] not in usb_list['devices'][usb['vid']]: | 51 | if 'pid' in usb and usb['pid'] not in usb_list['devices'][usb['vid']]: |
51 | usb_list['devices'][usb['vid']][usb['pid']] = {} | 52 | usb_list['devices'][usb['vid']][usb['pid']] = {} |
52 | 53 | ||
53 | usb_list['devices'][usb['vid']][usb['pid']][keyboard_name] = usb | 54 | if 'vid' in usb and 'pid' in usb: |
55 | usb_list['devices'][usb['vid']][usb['pid']][keyboard_name] = usb | ||
54 | 56 | ||
55 | # Write the global JSON files | 57 | # Write the global JSON files |
56 | keyboard_list.write_text(json.dumps({'last_updated': current_datetime(), 'keyboards': sorted(kb_all['keyboards'])})) | 58 | keyboard_list.write_text(json.dumps({'last_updated': current_datetime(), 'keyboards': sorted(kb_all['keyboards'])}, cls=InfoJSONEncoder)) |
57 | keyboard_all.write_text(json.dumps(kb_all)) | 59 | keyboard_all.write_text(json.dumps(kb_all, cls=InfoJSONEncoder)) |
58 | usb_file.write_text(json.dumps(usb_list)) | 60 | usb_file.write_text(json.dumps(usb_list, cls=InfoJSONEncoder)) |