aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/via2json.py
diff options
context:
space:
mode:
authorNick Brassel <[email protected]>2024-06-15 19:37:47 +1000
committerGitHub <[email protected]>2024-06-15 10:37:47 +0100
commit0262161914133e6abfc306e675dbac3ba816a6ee (patch)
tree042db91495759ceb4bc54895017a4420427d581d /lib/python/qmk/cli/via2json.py
parentd4654ab8934f795bbfc294f5b128a94aaa645a78 (diff)
downloadqmk_firmware-0262161914133e6abfc306e675dbac3ba816a6ee.tar.gz
qmk_firmware-0262161914133e6abfc306e675dbac3ba816a6ee.zip
[CLI] Don't `exit()` when certain exceptions occur. (#23442)
Diffstat (limited to 'lib/python/qmk/cli/via2json.py')
-rwxr-xr-xlib/python/qmk/cli/via2json.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/python/qmk/cli/via2json.py b/lib/python/qmk/cli/via2json.py
index 77823b5d9d..73c9a61b3d 100755
--- a/lib/python/qmk/cli/via2json.py
+++ b/lib/python/qmk/cli/via2json.py
@@ -69,7 +69,7 @@ def _via_to_keymap(via_backup, keyboard_data, keymap_layout):
layout_data = keyboard_data['layouts'].get(keymap_layout)
if not layout_data:
cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!')
- exit(1)
+ return None
layout_data = layout_data['layout']
sorting_hat = list()
@@ -118,7 +118,7 @@ def via2json(cli):
keymap_layout = cli.args.layout if cli.args.layout else _find_via_layout_macro(cli.args.keyboard)
if not keymap_layout:
cli.log.error(f"Couldn't find LAYOUT macro for keyboard {cli.args.keyboard}. Please specify it with the '-l' argument.")
- exit(1)
+ return False
# Load the VIA backup json
with cli.args.filename.open('r') as fd:
@@ -126,9 +126,15 @@ def via2json(cli):
# Generate keyboard metadata
keyboard_data = info_json(cli.args.keyboard)
+ if not keyboard_data:
+ cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!')
+ return False
# Get keycode array
keymap_data = _via_to_keymap(via_backup, keyboard_data, keymap_layout)
+ if not keymap_data:
+ cli.log.error(f'Could not extract valid keycode data from VIA backup matching keyboard {cli.args.keyboard}!')
+ return False
# Convert macros
macro_data = list()