2019-10-08 21:50:21 +02:00
|
|
|
"""List the keymaps for a specific keyboard
|
|
|
|
"""
|
|
|
|
from milc import cli
|
2019-10-13 19:07:22 +02:00
|
|
|
import qmk.keymap
|
|
|
|
from qmk.errors import NoSuchKeyboardError
|
2019-10-09 10:14:53 +02:00
|
|
|
|
2020-01-07 21:54:21 +01:00
|
|
|
|
2019-10-09 20:53:18 +02:00
|
|
|
@cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse")
|
2019-10-08 21:50:21 +02:00
|
|
|
@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
|
2020-01-07 21:54:21 +01:00
|
|
|
if cli.args.keyboard:
|
|
|
|
cli.config.list_keymaps.keyboard = cli.args.keyboard
|
|
|
|
elif not cli.config.list_keymaps.keyboard:
|
2019-10-24 20:33:58 +02:00
|
|
|
cli.config.list_keymaps.keyboard = input("Keyboard Name: ")
|
2019-10-08 21:50:21 +02:00
|
|
|
|
2019-10-13 19:07:22 +02:00
|
|
|
try:
|
2019-10-24 20:33:58 +02:00
|
|
|
for name in qmk.keymap.list_keymaps(cli.config.list_keymaps.keyboard):
|
2019-10-13 19:07:22 +02:00
|
|
|
# We echo instead of cli.log.info to allow easier piping of this output
|
2019-10-24 20:33:58 +02:00
|
|
|
cli.echo('%s:%s', cli.config.list_keymaps.keyboard, name)
|
2019-10-13 19:07:22 +02:00
|
|
|
except NoSuchKeyboardError as e:
|
2019-10-24 20:33:58 +02:00
|
|
|
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)
|