diff options
author | Zach White <skullydazed@gmail.com> | 2021-06-24 20:48:53 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-24 20:48:53 -0700 |
commit | b908275354ba6cd9dd4d393dbbedfbd2ad0f316d (patch) | |
tree | 7efbb70c51fb917d203b629feb9eadf169f71c91 /lib/python/qmk/cli/format/json.py | |
parent | 9d4412cb8bf9512952118b190fedea72e33d28cb (diff) | |
download | qmk_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-x | lib/python/qmk/cli/format/json.py | 5 |
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 | |||
8 | from milc import cli | 8 | from milc import cli |
9 | 9 | ||
10 | from qmk.info import info_json | 10 | from qmk.info import info_json |
11 | from qmk.json_schema import json_load, keyboard_validate | 11 | from qmk.json_schema import json_load, validate |
12 | from qmk.json_encoders import InfoJSONEncoder, KeymapJSONEncoder | 12 | from qmk.json_encoders import InfoJSONEncoder, KeymapJSONEncoder |
13 | from qmk.path import normpath | 13 | from 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': |