diff options
Diffstat (limited to 'lib/python/qmk/cli/new/keymap.py')
-rwxr-xr-x | lib/python/qmk/cli/new/keymap.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/python/qmk/cli/new/keymap.py b/lib/python/qmk/cli/new/keymap.py index 96525e28e..cbe50692e 100755 --- a/lib/python/qmk/cli/new/keymap.py +++ b/lib/python/qmk/cli/new/keymap.py | |||
@@ -1,8 +1,9 @@ | |||
1 | """This script automates the copying of the default keymap into your own keymap. | 1 | """This script automates the copying of the default keymap into your own keymap. |
2 | """ | 2 | """ |
3 | import os | ||
4 | import shutil | 3 | import shutil |
4 | from pathlib import Path | ||
5 | 5 | ||
6 | import qmk.path | ||
6 | from milc import cli | 7 | from milc import cli |
7 | 8 | ||
8 | 9 | ||
@@ -17,24 +18,27 @@ def new_keymap(cli): | |||
17 | keymap = cli.config.new_keymap.keymap if cli.config.new_keymap.keymap else input("Keymap Name: ") | 18 | keymap = cli.config.new_keymap.keymap if cli.config.new_keymap.keymap else input("Keymap Name: ") |
18 | 19 | ||
19 | # generate keymap paths | 20 | # generate keymap paths |
20 | kb_path = os.path.join(os.getcwd(), "keyboards", keyboard) | 21 | kb_path = Path('keyboards') / keyboard |
21 | keymap_path_default = os.path.join(kb_path, "keymaps/default") | 22 | keymap_path = qmk.path.keymap(keyboard) |
22 | keymap_path = os.path.join(kb_path, "keymaps/%s" % keymap) | 23 | keymap_path_default = keymap_path / 'default' |
24 | keymap_path_new = keymap_path / keymap | ||
23 | 25 | ||
24 | # check directories | 26 | # check directories |
25 | if not os.path.exists(kb_path): | 27 | if not kb_path.exists(): |
26 | cli.log.error('Keyboard %s does not exist!', kb_path) | 28 | cli.log.error('Keyboard %s does not exist!', kb_path) |
27 | exit(1) | 29 | exit(1) |
28 | if not os.path.exists(keymap_path_default): | 30 | |
31 | if not keymap_path_default.exists(): | ||
29 | cli.log.error('Keyboard default %s does not exist!', keymap_path_default) | 32 | cli.log.error('Keyboard default %s does not exist!', keymap_path_default) |
30 | exit(1) | 33 | exit(1) |
31 | if os.path.exists(keymap_path): | 34 | |
32 | cli.log.error('Keymap %s already exists!', keymap_path) | 35 | if keymap_path_new.exists(): |
36 | cli.log.error('Keymap %s already exists!', keymap_path_new) | ||
33 | exit(1) | 37 | exit(1) |
34 | 38 | ||
35 | # create user directory with default keymap files | 39 | # create user directory with default keymap files |
36 | shutil.copytree(keymap_path_default, keymap_path, symlinks=True) | 40 | shutil.copytree(str(keymap_path_default), str(keymap_path_new), symlinks=True) |
37 | 41 | ||
38 | # end message to user | 42 | # end message to user |
39 | cli.log.info("%s keymap directory created in: %s", keymap, keymap_path) | 43 | cli.log.info("%s keymap directory created in: %s", keymap, keymap_path_new) |
40 | cli.log.info("Compile a firmware with your new keymap by typing: \n" + "qmk compile -kb %s -km %s", keyboard, keymap) | 44 | cli.log.info("Compile a firmware with your new keymap by typing: \n\n\tqmk compile -kb %s -km %s\n", keyboard, keymap) |