diff options
| author | Erovia <erovia@users.noreply.github.com> | 2020-01-07 21:54:21 +0100 |
|---|---|---|
| committer | skullydazed <skullydazed@users.noreply.github.com> | 2020-02-15 15:19:03 -0800 |
| commit | 8eeab1112aa1ca7336f88867a9a2ab680ae94b53 (patch) | |
| tree | 60627f2d1aa5f6bb1d3345d9dbb7268b7d6ed3eb /lib | |
| parent | 988bfffca2715df3f227c462533d350ecbeac6c0 (diff) | |
| download | qmk_firmware-8eeab1112aa1ca7336f88867a9a2ab680ae94b53.tar.gz qmk_firmware-8eeab1112aa1ca7336f88867a9a2ab680ae94b53.zip | |
Fix commandline parsing and flake8 findings, rebase
Fixed commandline and config parsing. Thx @xplusplus.
Rebased on master and fixed merge conflicts.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/python/qmk/cli/list/keymaps.py | 5 | ||||
| -rw-r--r-- | lib/python/qmk/keymap.py | 3 | ||||
| -rw-r--r-- | lib/python/qmk/makefile.py | 4 | ||||
| -rw-r--r-- | lib/python/qmk/path.py | 2 | ||||
| -rw-r--r-- | lib/python/qmk/tests/test_cli_commands.py | 9 |
5 files changed, 18 insertions, 5 deletions
diff --git a/lib/python/qmk/cli/list/keymaps.py b/lib/python/qmk/cli/list/keymaps.py index a17c6a913..aab973140 100644 --- a/lib/python/qmk/cli/list/keymaps.py +++ b/lib/python/qmk/cli/list/keymaps.py | |||
| @@ -4,13 +4,16 @@ from milc import cli | |||
| 4 | import qmk.keymap | 4 | import qmk.keymap |
| 5 | from qmk.errors import NoSuchKeyboardError | 5 | from qmk.errors import NoSuchKeyboardError |
| 6 | 6 | ||
| 7 | |||
| 7 | @cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse") | 8 | @cli.argument("-kb", "--keyboard", help="Specify keyboard name. Example: 1upkeyboards/1up60hse") |
| 8 | @cli.subcommand("List the keymaps for a specific keyboard") | 9 | @cli.subcommand("List the keymaps for a specific keyboard") |
| 9 | def list_keymaps(cli): | 10 | def list_keymaps(cli): |
| 10 | """List the keymaps for a specific keyboard | 11 | """List the keymaps for a specific keyboard |
| 11 | """ | 12 | """ |
| 12 | # ask for user input if keyboard was not provided in the command line | 13 | # ask for user input if keyboard was not provided in the command line |
| 13 | if not cli.config.list_keymaps.keyboard: | 14 | if cli.args.keyboard: |
| 15 | cli.config.list_keymaps.keyboard = cli.args.keyboard | ||
| 16 | elif not cli.config.list_keymaps.keyboard: | ||
| 14 | cli.config.list_keymaps.keyboard = input("Keyboard Name: ") | 17 | cli.config.list_keymaps.keyboard = input("Keyboard Name: ") |
| 15 | 18 | ||
| 16 | try: | 19 | try: |
diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index 113b885de..afb001f3e 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py | |||
| @@ -1,11 +1,9 @@ | |||
| 1 | """Functions that help you work with QMK keymaps. | 1 | """Functions that help you work with QMK keymaps. |
| 2 | """ | 2 | """ |
| 3 | import os | 3 | import os |
| 4 | from traceback import format_exc | ||
| 5 | 4 | ||
| 6 | import qmk.path | 5 | import qmk.path |
| 7 | import qmk.makefile | 6 | import qmk.makefile |
| 8 | from qmk.errors import NoSuchKeyboardError | ||
| 9 | 7 | ||
| 10 | # The `keymap.c` template to use when a keyboard doesn't have its own | 8 | # The `keymap.c` template to use when a keyboard doesn't have its own |
| 11 | DEFAULT_KEYMAP_C = """#include QMK_KEYBOARD_H | 9 | DEFAULT_KEYMAP_C = """#include QMK_KEYBOARD_H |
| @@ -98,6 +96,7 @@ def write(keyboard, keymap, layout, layers): | |||
| 98 | 96 | ||
| 99 | return keymap_file | 97 | return keymap_file |
| 100 | 98 | ||
| 99 | |||
| 101 | def list_keymaps(keyboard_name): | 100 | def list_keymaps(keyboard_name): |
| 102 | """ List the available keymaps for a keyboard. | 101 | """ List the available keymaps for a keyboard. |
| 103 | 102 | ||
diff --git a/lib/python/qmk/makefile.py b/lib/python/qmk/makefile.py index c53f12ac7..89494bbc0 100644 --- a/lib/python/qmk/makefile.py +++ b/lib/python/qmk/makefile.py | |||
| @@ -5,6 +5,7 @@ import os | |||
| 5 | import qmk.path | 5 | import qmk.path |
| 6 | from qmk.errors import NoSuchKeyboardError | 6 | from qmk.errors import NoSuchKeyboardError |
| 7 | 7 | ||
| 8 | |||
| 8 | def parse_rules_mk_file(file, rules_mk=None): | 9 | def parse_rules_mk_file(file, rules_mk=None): |
| 9 | """Turn a rules.mk file into a dictionary. | 10 | """Turn a rules.mk file into a dictionary. |
| 10 | 11 | ||
| @@ -45,12 +46,13 @@ def parse_rules_mk_file(file, rules_mk=None): | |||
| 45 | rules_mk[key.strip()] = value.strip() | 46 | rules_mk[key.strip()] = value.strip() |
| 46 | else: | 47 | else: |
| 47 | if ":=" in line: | 48 | if ":=" in line: |
| 48 | line.replace(":","") | 49 | line.replace(":", "") |
| 49 | key, value = line.split('=', 1) | 50 | key, value = line.split('=', 1) |
| 50 | rules_mk[key.strip()] = value.strip() | 51 | rules_mk[key.strip()] = value.strip() |
| 51 | 52 | ||
| 52 | return rules_mk | 53 | return rules_mk |
| 53 | 54 | ||
| 55 | |||
| 54 | def get_rules_mk(keyboard): | 56 | def get_rules_mk(keyboard): |
| 55 | """ Get a rules.mk for a keyboard | 57 | """ Get a rules.mk for a keyboard |
| 56 | 58 | ||
diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index 0cdfe353c..bb28049b9 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py | |||
| @@ -5,6 +5,7 @@ import os | |||
| 5 | 5 | ||
| 6 | from qmk.errors import NoSuchKeyboardError | 6 | from qmk.errors import NoSuchKeyboardError |
| 7 | 7 | ||
| 8 | |||
| 8 | def keymap(keyboard): | 9 | def keymap(keyboard): |
| 9 | """Locate the correct directory for storing a keymap. | 10 | """Locate the correct directory for storing a keymap. |
| 10 | 11 | ||
| @@ -33,6 +34,7 @@ def normpath(path): | |||
| 33 | 34 | ||
| 34 | return os.path.normpath(os.path.join(os.environ['ORIG_CWD'], path)) | 35 | return os.path.normpath(os.path.join(os.environ['ORIG_CWD'], path)) |
| 35 | 36 | ||
| 37 | |||
| 36 | def file_lines(filename): | 38 | def file_lines(filename): |
| 37 | """ Return a files content, line by line | 39 | """ Return a files content, line by line |
| 38 | 40 | ||
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 7dc51d247..d88437903 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py | |||
| @@ -55,7 +55,14 @@ def test_list_keyboards(): | |||
| 55 | # this will fail if handwired/onekey/pytest is removed | 55 | # this will fail if handwired/onekey/pytest is removed |
| 56 | assert 'handwired/onekey/pytest' in result.stdout | 56 | assert 'handwired/onekey/pytest' in result.stdout |
| 57 | 57 | ||
| 58 | |||
| 58 | def test_list_keymaps(): | 59 | def test_list_keymaps(): |
| 59 | result = check_subcommand("list_keymaps", "-kb", "planck/ez") | 60 | result = check_subcommand("list-keymaps", "-kb", "planck/ez") |
| 60 | assert result.returncode == 0 | 61 | assert result.returncode == 0 |
| 61 | assert "planck/ez:default" and "planck/ez:drashna" in result.stdout | 62 | assert "planck/ez:default" and "planck/ez:drashna" in result.stdout |
| 63 | |||
| 64 | |||
| 65 | def test_list_keymaps_no_keyboard_found(): | ||
| 66 | result = check_subcommand("list-keymaps", "-kb", "asdfghjkl") | ||
| 67 | assert result.returncode == 0 | ||
| 68 | assert "does not exist" in result.stdout | ||
