mirror of
https://github.com/qmk/qmk_firmware
synced 2024-12-22 08:26:21 +00:00
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
commit
114b3db96a
@ -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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user