layouts.py 832 B

1234567891011121314151617181920212223
  1. """List the keymaps for a specific keyboard
  2. """
  3. from milc import cli
  4. from qmk.decorators import automagic_keyboard
  5. from qmk.keyboard import keyboard_completer, keyboard_folder
  6. from qmk.info import info_json
  7. @cli.argument("-kb", "--keyboard", type=keyboard_folder, completer=keyboard_completer, help="Specify keyboard name. Example: monarch")
  8. @cli.subcommand("List the layouts for a specific keyboard")
  9. @automagic_keyboard
  10. def list_layouts(cli):
  11. """List the layouts for a specific keyboard
  12. """
  13. if not cli.config.list_layouts.keyboard:
  14. cli.log.error('Missing required arguments: --keyboard')
  15. cli.subcommands['list-layouts'].print_help()
  16. return False
  17. info_data = info_json(cli.config.list_layouts.keyboard)
  18. for name in sorted(info_data.get('community_layouts', [])):
  19. print(name)