summaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/via2json.py
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2024-06-15 19:37:47 +1000
committerGitHub <noreply@github.com>2024-06-15 10:37:47 +0100
commit0262161914133e6abfc306e675dbac3ba816a6ee (patch)
tree042db91495759ceb4bc54895017a4420427d581d /lib/python/qmk/cli/via2json.py
parentd4654ab8934f795bbfc294f5b128a94aaa645a78 (diff)
[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):
69 layout_data = keyboard_data['layouts'].get(keymap_layout) 69 layout_data = keyboard_data['layouts'].get(keymap_layout)
70 if not layout_data: 70 if not layout_data:
71 cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!') 71 cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!')
72 exit(1) 72 return None
73 73
74 layout_data = layout_data['layout'] 74 layout_data = layout_data['layout']
75 sorting_hat = list() 75 sorting_hat = list()
@@ -118,7 +118,7 @@ def via2json(cli):
118 keymap_layout = cli.args.layout if cli.args.layout else _find_via_layout_macro(cli.args.keyboard) 118 keymap_layout = cli.args.layout if cli.args.layout else _find_via_layout_macro(cli.args.keyboard)
119 if not keymap_layout: 119 if not keymap_layout:
120 cli.log.error(f"Couldn't find LAYOUT macro for keyboard {cli.args.keyboard}. Please specify it with the '-l' argument.") 120 cli.log.error(f"Couldn't find LAYOUT macro for keyboard {cli.args.keyboard}. Please specify it with the '-l' argument.")
121 exit(1) 121 return False
122 122
123 # Load the VIA backup json 123 # Load the VIA backup json
124 with cli.args.filename.open('r') as fd: 124 with cli.args.filename.open('r') as fd:
@@ -126,9 +126,15 @@ def via2json(cli):
126 126
127 # Generate keyboard metadata 127 # Generate keyboard metadata
128 keyboard_data = info_json(cli.args.keyboard) 128 keyboard_data = info_json(cli.args.keyboard)
129 if not keyboard_data:
130 cli.log.error(f'LAYOUT macro {keymap_layout} is not a valid one for keyboard {cli.args.keyboard}!')
131 return False
129 132
130 # Get keycode array 133 # Get keycode array
131 keymap_data = _via_to_keymap(via_backup, keyboard_data, keymap_layout) 134 keymap_data = _via_to_keymap(via_backup, keyboard_data, keymap_layout)
135 if not keymap_data:
136 cli.log.error(f'Could not extract valid keycode data from VIA backup matching keyboard {cli.args.keyboard}!')
137 return False
132 138
133 # Convert macros 139 # Convert macros
134 macro_data = list() 140 macro_data = list()