aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/format/json.py
diff options
context:
space:
mode:
authorZach White <skullydazed@gmail.com>2021-06-24 20:48:53 -0700
committerGitHub <noreply@github.com>2021-06-24 20:48:53 -0700
commitb908275354ba6cd9dd4d393dbbedfbd2ad0f316d (patch)
tree7efbb70c51fb917d203b629feb9eadf169f71c91 /lib/python/qmk/cli/format/json.py
parent9d4412cb8bf9512952118b190fedea72e33d28cb (diff)
downloadqmk_firmware-b908275354ba6cd9dd4d393dbbedfbd2ad0f316d.tar.gz
qmk_firmware-b908275354ba6cd9dd4d393dbbedfbd2ad0f316d.zip
Optimize our jsonschema by using refs (#13271)
* fix some broken info.json files * optimize our jsonschema using refs * fix formatting after vscode broke it * make flake8 happy * cleanup * make our schema validation more compact and flexible
Diffstat (limited to 'lib/python/qmk/cli/format/json.py')
-rwxr-xr-xlib/python/qmk/cli/format/json.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/python/qmk/cli/format/json.py b/lib/python/qmk/cli/format/json.py
index 1358c70e7..19d504491 100755
--- a/lib/python/qmk/cli/format/json.py
+++ b/lib/python/qmk/cli/format/json.py
@@ -8,7 +8,7 @@ from jsonschema import ValidationError
8from milc import cli 8from milc import cli
9 9
10from qmk.info import info_json 10from qmk.info import info_json
11from qmk.json_schema import json_load, keyboard_validate 11from qmk.json_schema import json_load, validate
12from qmk.json_encoders import InfoJSONEncoder, KeymapJSONEncoder 12from qmk.json_encoders import InfoJSONEncoder, KeymapJSONEncoder
13from qmk.path import normpath 13from qmk.path import normpath
14 14
@@ -23,14 +23,13 @@ def format_json(cli):
23 23
24 if cli.args.format == 'auto': 24 if cli.args.format == 'auto':
25 try: 25 try:
26 keyboard_validate(json_file) 26 validate(json_file, 'qmk.keyboard.v1')
27 json_encoder = InfoJSONEncoder 27 json_encoder = InfoJSONEncoder
28 28
29 except ValidationError as e: 29 except ValidationError as e:
30 cli.log.warning('File %s did not validate as a keyboard:\n\t%s', cli.args.json_file, e) 30 cli.log.warning('File %s did not validate as a keyboard:\n\t%s', cli.args.json_file, e)
31 cli.log.info('Treating %s as a keymap file.', cli.args.json_file) 31 cli.log.info('Treating %s as a keymap file.', cli.args.json_file)
32 json_encoder = KeymapJSONEncoder 32 json_encoder = KeymapJSONEncoder
33
34 elif cli.args.format == 'keyboard': 33 elif cli.args.format == 'keyboard':
35 json_encoder = InfoJSONEncoder 34 json_encoder = InfoJSONEncoder
36 elif cli.args.format == 'keymap': 35 elif cli.args.format == 'keymap':