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