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/python | |
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/python')
-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 | ||