mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-04-27 17:41:28 +00:00
Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
ad33b072f5
@ -50,18 +50,9 @@ def _valid_community_layout(layout):
|
|||||||
return (Path('layouts/default') / layout).exists()
|
return (Path('layouts/default') / layout).exists()
|
||||||
|
|
||||||
|
|
||||||
def _validate(keyboard, info_data):
|
def _additional_validation(keyboard, info_data):
|
||||||
"""Perform various validation on the provided info.json data
|
"""Non schema checks
|
||||||
"""
|
"""
|
||||||
# First validate against the jsonschema
|
|
||||||
try:
|
|
||||||
validate(info_data, 'qmk.api.keyboard.v1')
|
|
||||||
|
|
||||||
except jsonschema.ValidationError as e:
|
|
||||||
json_path = '.'.join([str(p) for p in e.absolute_path])
|
|
||||||
cli.log.error('Invalid API data: %s: %s: %s', keyboard, json_path, e.message)
|
|
||||||
exit(1)
|
|
||||||
|
|
||||||
layouts = info_data.get('layouts', {})
|
layouts = info_data.get('layouts', {})
|
||||||
layout_aliases = info_data.get('layout_aliases', {})
|
layout_aliases = info_data.get('layout_aliases', {})
|
||||||
community_layouts = info_data.get('community_layouts', [])
|
community_layouts = info_data.get('community_layouts', [])
|
||||||
@ -110,6 +101,21 @@ def _validate(keyboard, info_data):
|
|||||||
_log_error(info_data, f'Keycode {decl["key"]} has no short form alias')
|
_log_error(info_data, f'Keycode {decl["key"]} has no short form alias')
|
||||||
|
|
||||||
|
|
||||||
|
def _validate(keyboard, info_data):
|
||||||
|
"""Perform various validation on the provided info.json data
|
||||||
|
"""
|
||||||
|
# First validate against the jsonschema
|
||||||
|
try:
|
||||||
|
validate(info_data, 'qmk.api.keyboard.v1')
|
||||||
|
|
||||||
|
_additional_validation(keyboard, info_data)
|
||||||
|
|
||||||
|
except jsonschema.ValidationError as e:
|
||||||
|
json_path = '.'.join([str(p) for p in e.absolute_path])
|
||||||
|
cli.log.error('Invalid API data: %s: %s: %s', keyboard, json_path, e.message)
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
def info_json(keyboard):
|
def info_json(keyboard):
|
||||||
"""Generate the info.json data for a specific keyboard.
|
"""Generate the info.json data for a specific keyboard.
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user