diff options
author | Nick Brassel <[email protected]> | 2024-06-15 19:37:47 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-06-15 10:37:47 +0100 |
commit | 0262161914133e6abfc306e675dbac3ba816a6ee (patch) | |
tree | 042db91495759ceb4bc54895017a4420427d581d /lib/python/qmk/cli/via2json.py | |
parent | d4654ab8934f795bbfc294f5b128a94aaa645a78 (diff) | |
download | qmk_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-x | lib/python/qmk/cli/via2json.py | 10 |
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() |