summaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/generate/api.py
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2023-03-29 12:01:55 +0000
committerQMK Bot <hello@qmk.fm>2023-03-29 12:01:55 +0000
commit66f19518b40afc1f99fc8ee3743dca2b34e92de2 (patch)
treeea6d28d8507275be38c6a6ef5cc009a6fb58c1fa /lib/python/qmk/cli/generate/api.py
parent2026165d8ce64971b541ec68192a65f546b0b8b3 (diff)
parentf56580404d44af8a0e8b7205618c084a9acb3772 (diff)
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'lib/python/qmk/cli/generate/api.py')
-rwxr-xr-xlib/python/qmk/cli/generate/api.py23
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/python/qmk/cli/generate/api.py b/lib/python/qmk/cli/generate/api.py
index cfea3f3946..61a2f9f732 100755
--- a/lib/python/qmk/cli/generate/api.py
+++ b/lib/python/qmk/cli/generate/api.py
@@ -8,7 +8,6 @@ from milc import cli
8 8
9from qmk.datetime import current_datetime 9from qmk.datetime import current_datetime
10from qmk.info import info_json 10from qmk.info import info_json
11from qmk.json_encoders import InfoJSONEncoder
12from qmk.json_schema import json_load 11from qmk.json_schema import json_load
13from qmk.keymap import list_keymaps 12from qmk.keymap import list_keymaps
14from qmk.keyboard import find_readme, list_keyboards 13from qmk.keyboard import find_readme, list_keyboards
@@ -43,14 +42,14 @@ def _resolve_keycode_specs(output_folder):
43 overall = load_spec(version) 42 overall = load_spec(version)
44 43
45 output_file = output_folder / f'constants/keycodes_{version}.json' 44 output_file = output_folder / f'constants/keycodes_{version}.json'
46 output_file.write_text(json.dumps(overall), encoding='utf-8') 45 output_file.write_text(json.dumps(overall, separators=(',', ':')), encoding='utf-8')
47 46
48 for lang in list_languages(): 47 for lang in list_languages():
49 for version in list_versions(lang): 48 for version in list_versions(lang):
50 overall = load_spec(version, lang) 49 overall = load_spec(version, lang)
51 50
52 output_file = output_folder / f'constants/keycodes_{lang}_{version}.json' 51 output_file = output_folder / f'constants/keycodes_{lang}_{version}.json'
53 output_file.write_text(json.dumps(overall, indent=4), encoding='utf-8') 52 output_file.write_text(json.dumps(overall, separators=(',', ':')), encoding='utf-8')
54 53
55 # Purge files consumed by 'load_spec' 54 # Purge files consumed by 'load_spec'
56 shutil.rmtree(output_folder / 'constants/keycodes/') 55 shutil.rmtree(output_folder / 'constants/keycodes/')
@@ -64,7 +63,7 @@ def _filtered_copy(src, dst):
64 data = json_load(src) 63 data = json_load(src)
65 64
66 dst = dst.with_suffix('.json') 65 dst = dst.with_suffix('.json')
67 dst.write_text(json.dumps(data), encoding='utf-8') 66 dst.write_text(json.dumps(data, separators=(',', ':')), encoding='utf-8')
68 return dst 67 return dst
69 68
70 if dst.suffix == '.jsonschema': 69 if dst.suffix == '.jsonschema':
@@ -136,7 +135,7 @@ def generate_api(cli):
136 } 135 }
137 136
138 keyboard_dir.mkdir(parents=True, exist_ok=True) 137 keyboard_dir.mkdir(parents=True, exist_ok=True)
139 keyboard_json = json.dumps({'last_updated': current_datetime(), 'keyboards': {keyboard_name: kb_json}}) 138 keyboard_json = json.dumps({'last_updated': current_datetime(), 'keyboards': {keyboard_name: kb_json}}, separators=(',', ':'))
140 if not cli.args.dry_run: 139 if not cli.args.dry_run:
141 keyboard_info.write_text(keyboard_json, encoding='utf-8') 140 keyboard_info.write_text(keyboard_json, encoding='utf-8')
142 cli.log.debug('Wrote file %s', keyboard_info) 141 cli.log.debug('Wrote file %s', keyboard_info)
@@ -150,7 +149,7 @@ def generate_api(cli):
150 keymap_hjson = kb_json['keymaps'][keymap]['path'] 149 keymap_hjson = kb_json['keymaps'][keymap]['path']
151 keymap_json = v1_dir / keymap_hjson 150 keymap_json = v1_dir / keymap_hjson
152 keymap_json.parent.mkdir(parents=True, exist_ok=True) 151 keymap_json.parent.mkdir(parents=True, exist_ok=True)
153 keymap_json.write_text(json.dumps(json_load(Path(keymap_hjson))), encoding='utf-8') 152 keymap_json.write_text(json.dumps(json_load(Path(keymap_hjson)), separators=(',', ':')), encoding='utf-8')
154 cli.log.debug('Wrote keymap %s', keymap_json) 153 cli.log.debug('Wrote keymap %s', keymap_json)
155 154
156 if 'usb' in kb_json: 155 if 'usb' in kb_json:
@@ -179,12 +178,12 @@ def generate_api(cli):
179 _resolve_keycode_specs(v1_dir) 178 _resolve_keycode_specs(v1_dir)
180 179
181 # Write the global JSON files 180 # Write the global JSON files
182 keyboard_all_json = json.dumps({'last_updated': current_datetime(), 'keyboards': kb_all}, cls=InfoJSONEncoder) 181 keyboard_all_json = json.dumps({'last_updated': current_datetime(), 'keyboards': kb_all}, separators=(',', ':'))
183 usb_json = json.dumps({'last_updated': current_datetime(), 'usb': usb_list}, cls=InfoJSONEncoder) 182 usb_json = json.dumps({'last_updated': current_datetime(), 'usb': usb_list}, separators=(',', ':'))
184 keyboard_list_json = json.dumps({'last_updated': current_datetime(), 'keyboards': keyboard_list}, cls=InfoJSONEncoder) 183 keyboard_list_json = json.dumps({'last_updated': current_datetime(), 'keyboards': keyboard_list}, separators=(',', ':'))
185 keyboard_aliases_json = json.dumps({'last_updated': current_datetime(), 'keyboard_aliases': keyboard_aliases}, cls=InfoJSONEncoder) 184 keyboard_aliases_json = json.dumps({'last_updated': current_datetime(), 'keyboard_aliases': keyboard_aliases}, separators=(',', ':'))
186 keyboard_metadata_json = json.dumps(keyboard_metadata, cls=InfoJSONEncoder) 185 keyboard_metadata_json = json.dumps(keyboard_metadata, separators=(',', ':'))
187 constants_metadata_json = json.dumps({'last_updated': current_datetime(), 'constants': _list_constants(v1_dir)}) 186 constants_metadata_json = json.dumps({'last_updated': current_datetime(), 'constants': _list_constants(v1_dir)}, separators=(',', ':'))
188 187
189 if not cli.args.dry_run: 188 if not cli.args.dry_run:
190 keyboard_all_file.write_text(keyboard_all_json, encoding='utf-8') 189 keyboard_all_file.write_text(keyboard_all_json, encoding='utf-8')