8eeab1112a
Fixed commandline and config parsing. Thx @xplusplus. Rebased on master and fixed merge conflicts.
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
"""List the keymaps for a specific keyboard
|
|
"""
|
|
from milc import cli
|
|
import qmk.keymap
|
|
from qmk.errors import NoSuchKeyboardError
|
|
|
|
|
|
@cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse")
|
|
@cli.subcommand("List the keymaps for a specific keyboard")
|
|
def list_keymaps(cli):
|
|
"""List the keymaps for a specific keyboard
|
|
"""
|
|
# ask for user input if keyboard was not provided in the command line
|
|
if cli.args.keyboard:
|
|
cli.config.list_keymaps.keyboard = cli.args.keyboard
|
|
elif not cli.config.list_keymaps.keyboard:
|
|
cli.config.list_keymaps.keyboard = input("Keyboard Name: ")
|
|
|
|
try:
|
|
for name in qmk.keymap.list_keymaps(cli.config.list_keymaps.keyboard):
|
|
# We echo instead of cli.log.info to allow easier piping of this output
|
|
cli.echo('%s:%s', cli.config.list_keymaps.keyboard, name)
|
|
except NoSuchKeyboardError as e:
|
|
cli.echo("{fg_red}%s: %s", cli.config.list_keymaps.keyboard, e.message)
|
|
except (FileNotFoundError, PermissionError) as e:
|
|
cli.echo("{fg_red}%s: %s", cli.config.list_keymaps.keyboard, e)
|