|
|
@@ -9,6 +9,15 @@ from qmk.keyboard import find_keyboard_from_dir
|
|
|
from qmk.keymap import find_keymap_from_dir
|
|
|
|
|
|
|
|
|
+def _get_subcommand_name():
|
|
|
+ """Handle missing cli.subcommand_name on older versions of milc
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ return cli.subcommand_name
|
|
|
+ except AttributeError:
|
|
|
+ return cli._subcommand.__name__
|
|
|
+
|
|
|
+
|
|
|
def automagic_keyboard(func):
|
|
|
"""Sets `cli.config.<subcommand>.keyboard` based on environment.
|
|
|
|
|
|
@@ -16,13 +25,15 @@ def automagic_keyboard(func):
|
|
|
"""
|
|
|
@functools.wraps(func)
|
|
|
def wrapper(*args, **kwargs):
|
|
|
+ cmd = _get_subcommand_name()
|
|
|
+
|
|
|
# Ensure that `--keyboard` was not passed and CWD is under `qmk_firmware/keyboards`
|
|
|
- if cli.config_source[cli._subcommand.__name__]['keyboard'] != 'argument':
|
|
|
+ if cli.config_source[cmd]['keyboard'] != 'argument':
|
|
|
keyboard = find_keyboard_from_dir()
|
|
|
|
|
|
if keyboard:
|
|
|
- cli.config[cli._subcommand.__name__]['keyboard'] = keyboard
|
|
|
- cli.config_source[cli._subcommand.__name__]['keyboard'] = 'keyboard_directory'
|
|
|
+ cli.config[cmd]['keyboard'] = keyboard
|
|
|
+ cli.config_source[cmd]['keyboard'] = 'keyboard_directory'
|
|
|
|
|
|
return func(*args, **kwargs)
|
|
|
|
|
|
@@ -36,13 +47,15 @@ def automagic_keymap(func):
|
|
|
"""
|
|
|
@functools.wraps(func)
|
|
|
def wrapper(*args, **kwargs):
|
|
|
+ cmd = _get_subcommand_name()
|
|
|
+
|
|
|
# Ensure that `--keymap` was not passed and that we're under `qmk_firmware`
|
|
|
- if cli.config_source[cli._subcommand.__name__]['keymap'] != 'argument':
|
|
|
+ if cli.config_source[cmd]['keymap'] != 'argument':
|
|
|
keymap_name, keymap_type = find_keymap_from_dir()
|
|
|
|
|
|
if keymap_name:
|
|
|
- cli.config[cli._subcommand.__name__]['keymap'] = keymap_name
|
|
|
- cli.config_source[cli._subcommand.__name__]['keymap'] = keymap_type
|
|
|
+ cli.config[cmd]['keymap'] = keymap_name
|
|
|
+ cli.config_source[cmd]['keymap'] = keymap_type
|
|
|
|
|
|
return func(*args, **kwargs)
|
|
|
|