Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
QMK Bot 2024-10-30 05:17:31 +00:00
commit 114b3db96a

View File

@ -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)