Browse Source

Reduce _validate complexity (#20274)

pull/20289/head
Joel Challis 1 year ago
committed by GitHub
parent
commit
f186abdf29
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 11 deletions
  1. +17
    -11
      lib/python/qmk/info.py

+ 17
- 11
lib/python/qmk/info.py View File

@ -50,18 +50,9 @@ def _valid_community_layout(layout):
return (Path('layouts/default') / layout).exists()
def _validate(keyboard, info_data):
"""Perform various validation on the provided info.json data
def _additional_validation(keyboard, info_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', {})
layout_aliases = info_data.get('layout_aliases', {})
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')
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):
"""Generate the info.json data for a specific keyboard.
"""


Loading…
Cancel
Save