diff options
author | skullydazed <skullydazed@users.noreply.github.com> | 2020-02-17 11:42:11 -0800 |
---|---|---|
committer | Drashna Jael're <drashna@live.com> | 2020-03-26 00:42:12 -0700 |
commit | 72b85f52e7227ca4f295e85206d4860853af8b87 (patch) | |
tree | 81222e5f55f4a71f13550dba4f1b629a67bd0224 /lib/python/qmk/cli/flash.py | |
parent | 91d34ed5b74baa94090e4a5f39f3ebe3bd03316f (diff) |
Use pathlib everywhere we can (#7872)
* Use pathlib everywhere we can
* Update lib/python/qmk/path.py
Co-Authored-By: Erovia <Erovia@users.noreply.github.com>
* Update lib/python/qmk/path.py
Co-Authored-By: Erovia <Erovia@users.noreply.github.com>
* Improvements based on @erovia's feedback
* rework qmk compile and qmk flash to use pathlib
* style
* Remove the subcommand_name argument from find_keyboard_keymap()
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Diffstat (limited to 'lib/python/qmk/cli/flash.py')
-rw-r--r-- | lib/python/qmk/cli/flash.py | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/lib/python/qmk/cli/flash.py b/lib/python/qmk/cli/flash.py index 031cb94967..29528e61d4 100644 --- a/lib/python/qmk/cli/flash.py +++ b/lib/python/qmk/cli/flash.py @@ -7,7 +7,7 @@ import subprocess import qmk.path from milc import cli -from qmk.commands import compile_configurator_json, create_make_command, parse_configurator_json +from qmk.commands import compile_configurator_json, create_make_command, find_keyboard_keymap, parse_configurator_json def print_bootloader_help(): @@ -44,39 +44,31 @@ def flash(cli): If bootloader is omitted, the one according to the rules.mk will be used. """ - command = [] if cli.args.bootloaders: # Provide usage and list bootloaders cli.echo('usage: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename]') print_bootloader_help() return False - elif cli.args.keymap and not cli.args.keyboard: - # If only a keymap was given but no keyboard, suggest listing keyboards - cli.echo('usage: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename]') - cli.log.error('run \'qmk list_keyboards\' to find out the supported keyboards') - return False - - elif cli.args.filename: - # Get keymap path to log info + if cli.args.filename: + # Handle compiling a configurator JSON user_keymap = parse_configurator_json(cli.args.filename) keymap_path = qmk.path.keymap(user_keymap['keyboard']) - - cli.log.info('Creating {fg_cyan}%s{style_reset_all} keymap in {fg_cyan}%s', user_keymap['keymap'], keymap_path) - - # Convert the JSON into a C file and write it to disk. - command = compile_configurator_json(cli.args.filename, cli.args.bootloader) + command = compile_configurator_json(user_keymap, cli.args.bootloader) cli.log.info('Wrote keymap to {fg_cyan}%s/%s/keymap.c', keymap_path, user_keymap['keymap']) - elif cli.args.keyboard and cli.args.keymap: - # Generate the make command for a specific keyboard/keymap. - command = create_make_command(cli.config.flash.keyboard, cli.config.flash.keymap, cli.args.bootloader) - else: - cli.echo('usage: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename]') - cli.log.error('You must supply a configurator export or both `--keyboard` and `--keymap`. You can also specify a bootloader with --bootloader. Use --bootloaders to list the available bootloaders.') - return False + # Perform the action the user specified + user_keyboard, user_keymap = find_keyboard_keymap() + if user_keyboard and user_keymap: + # Generate the make command for a specific keyboard/keymap. + command = create_make_command(user_keyboard, user_keymap, cli.args.bootloader) + + else: + cli.log.error('You must supply a configurator export or both `--keyboard` and `--keymap`.') + cli.echo('usage: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename]') + return False cli.log.info('Flashing keymap with {fg_cyan}%s\n\n', ' '.join(command)) subprocess.run(command) |