aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-09-27 17:03:42 +0000
committerQMK Bot <hello@qmk.fm>2021-09-27 17:03:42 +0000
commitbca7a99e7aad2ff0a4aaed2d0e755e2d6bd7cee6 (patch)
tree764b035dc6beebd5ced279f02d10b5b0e0720894 /lib/python
parenta311514f43de7cf7bde758a691419a95367cebe2 (diff)
parentfce9cb933845bf0b74d322eba02de3b76daaeb84 (diff)
downloadqmk_firmware-bca7a99e7aad2ff0a4aaed2d0e755e2d6bd7cee6.tar.gz
qmk_firmware-bca7a99e7aad2ff0a4aaed2d0e755e2d6bd7cee6.zip
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/qmk/cli/doctor/linux.py8
-rwxr-xr-xlib/python/qmk/cli/doctor/main.py9
-rwxr-xr-xlib/python/qmk/cli/generate/config_h.py2
-rw-r--r--lib/python/qmk/cli/generate/dfu_header.py2
-rwxr-xr-xlib/python/qmk/cli/generate/keyboard_h.py2
-rwxr-xr-xlib/python/qmk/cli/generate/layouts.py2
-rw-r--r--lib/python/qmk/info.py8
-rw-r--r--lib/python/qmk/keymap.py4
8 files changed, 18 insertions, 19 deletions
diff --git a/lib/python/qmk/cli/doctor/linux.py b/lib/python/qmk/cli/doctor/linux.py
index 6ce00f6ef..94683d330 100644
--- a/lib/python/qmk/cli/doctor/linux.py
+++ b/lib/python/qmk/cli/doctor/linux.py
@@ -118,10 +118,9 @@ def check_udev_rules():
118 cli.log.warning("{fg_yellow}Found old, deprecated udev rules for '%s' boards. The new rules on https://docs.qmk.fm/#/faq_build?id=linux-udev-rules offer better security with the same functionality.", bootloader) 118 cli.log.warning("{fg_yellow}Found old, deprecated udev rules for '%s' boards. The new rules on https://docs.qmk.fm/#/faq_build?id=linux-udev-rules offer better security with the same functionality.", bootloader)
119 else: 119 else:
120 # For caterina, check if ModemManager is running 120 # For caterina, check if ModemManager is running
121 if bootloader == "caterina": 121 if bootloader == "caterina" and check_modem_manager():
122 if check_modem_manager(): 122 cli.log.warning("{fg_yellow}Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro.")
123 rc = CheckStatus.WARNING 123
124 cli.log.warning("{fg_yellow}Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro.")
125 rc = CheckStatus.WARNING 124 rc = CheckStatus.WARNING
126 cli.log.warning("{fg_yellow}Missing or outdated udev rules for '%s' boards. Run 'sudo cp %s/util/udev/50-qmk.rules /etc/udev/rules.d/'.", bootloader, QMK_FIRMWARE) 125 cli.log.warning("{fg_yellow}Missing or outdated udev rules for '%s' boards. Run 'sudo cp %s/util/udev/50-qmk.rules /etc/udev/rules.d/'.", bootloader, QMK_FIRMWARE)
127 126
@@ -167,6 +166,5 @@ def os_test_linux():
167 return CheckStatus.OK 166 return CheckStatus.OK
168 else: 167 else:
169 cli.log.info("Detected {fg_cyan}Linux{fg_reset}.") 168 cli.log.info("Detected {fg_cyan}Linux{fg_reset}.")
170 from .linux import check_udev_rules
171 169
172 return check_udev_rules() 170 return check_udev_rules()
diff --git a/lib/python/qmk/cli/doctor/main.py b/lib/python/qmk/cli/doctor/main.py
index 6a31ccdfd..ed20f46d3 100755
--- a/lib/python/qmk/cli/doctor/main.py
+++ b/lib/python/qmk/cli/doctor/main.py
@@ -79,12 +79,13 @@ def doctor(cli):
79 cli.log.info('CLI version: %s', cli.version) 79 cli.log.info('CLI version: %s', cli.version)
80 cli.log.info('QMK home: {fg_cyan}%s', QMK_FIRMWARE) 80 cli.log.info('QMK home: {fg_cyan}%s', QMK_FIRMWARE)
81 81
82 status = os_tests() 82 status = os_status = os_tests()
83 git_status = git_tests()
83 84
84 status = git_tests() 85 if git_status == CheckStatus.ERROR or (os_status == CheckStatus.OK and git_status == CheckStatus.WARNING):
86 status = git_status
85 87
86 venv = in_virtualenv() 88 if in_virtualenv():
87 if venv:
88 cli.log.info('CLI installed in virtualenv.') 89 cli.log.info('CLI installed in virtualenv.')
89 90
90 # Make sure the basic CLI tools we need are available and can be executed. 91 # Make sure the basic CLI tools we need are available and can be executed.
diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py
index ca7e14fe6..f16dca1de 100755
--- a/lib/python/qmk/cli/generate/config_h.py
+++ b/lib/python/qmk/cli/generate/config_h.py
@@ -173,7 +173,7 @@ def generate_config_h(cli):
173 kb_info_json = dotty(info_json(cli.args.keyboard)) 173 kb_info_json = dotty(info_json(cli.args.keyboard))
174 174
175 # Build the info_config.h file. 175 # Build the info_config.h file.
176 config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.' ' */', '', '#pragma once'] 176 config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.', ' */', '', '#pragma once']
177 177
178 generate_config_items(kb_info_json, config_h_lines) 178 generate_config_items(kb_info_json, config_h_lines)
179 179
diff --git a/lib/python/qmk/cli/generate/dfu_header.py b/lib/python/qmk/cli/generate/dfu_header.py
index 211ed9991..5a1b109f1 100644
--- a/lib/python/qmk/cli/generate/dfu_header.py
+++ b/lib/python/qmk/cli/generate/dfu_header.py
@@ -30,7 +30,7 @@ def generate_dfu_header(cli):
30 # Build the Keyboard.h file. 30 # Build the Keyboard.h file.
31 kb_info_json = dotty(info_json(cli.config.generate_dfu_header.keyboard)) 31 kb_info_json = dotty(info_json(cli.config.generate_dfu_header.keyboard))
32 32
33 keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.' ' */', '', '#pragma once'] 33 keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.', ' */', '', '#pragma once']
34 keyboard_h_lines.append(f'#define MANUFACTURER {kb_info_json["manufacturer"]}') 34 keyboard_h_lines.append(f'#define MANUFACTURER {kb_info_json["manufacturer"]}')
35 keyboard_h_lines.append(f'#define PRODUCT {cli.config.generate_dfu_header.keyboard} Bootloader') 35 keyboard_h_lines.append(f'#define PRODUCT {cli.config.generate_dfu_header.keyboard} Bootloader')
36 36
diff --git a/lib/python/qmk/cli/generate/keyboard_h.py b/lib/python/qmk/cli/generate/keyboard_h.py
index c9d7f549b..f05178ced 100755
--- a/lib/python/qmk/cli/generate/keyboard_h.py
+++ b/lib/python/qmk/cli/generate/keyboard_h.py
@@ -36,7 +36,7 @@ def generate_keyboard_h(cli):
36 has_layout_h = would_populate_layout_h(cli.args.keyboard) 36 has_layout_h = would_populate_layout_h(cli.args.keyboard)
37 37
38 # Build the layouts.h file. 38 # Build the layouts.h file.
39 keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.' ' */', '', '#pragma once', '#include "quantum.h"'] 39 keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.', ' */', '', '#pragma once', '#include "quantum.h"']
40 40
41 if not has_layout_h: 41 if not has_layout_h:
42 keyboard_h_lines.append('#pragma error("<keyboard>.h is only optional for data driven keyboards - kb.h == bad times")') 42 keyboard_h_lines.append('#pragma error("<keyboard>.h is only optional for data driven keyboards - kb.h == bad times")')
diff --git a/lib/python/qmk/cli/generate/layouts.py b/lib/python/qmk/cli/generate/layouts.py
index 4de982f82..e44266e1c 100755
--- a/lib/python/qmk/cli/generate/layouts.py
+++ b/lib/python/qmk/cli/generate/layouts.py
@@ -38,7 +38,7 @@ def generate_layouts(cli):
38 kb_info_json = info_json(cli.config.generate_layouts.keyboard) 38 kb_info_json = info_json(cli.config.generate_layouts.keyboard)
39 39
40 # Build the layouts.h file. 40 # Build the layouts.h file.
41 layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.' ' */', '', '#pragma once'] 41 layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.', ' */', '', '#pragma once']
42 42
43 if 'matrix_pins' in kb_info_json: 43 if 'matrix_pins' in kb_info_json:
44 if 'direct' in kb_info_json['matrix_pins']: 44 if 'direct' in kb_info_json['matrix_pins']:
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 7f3aabdc3..1b4c42ff4 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -29,10 +29,10 @@ def info_json(keyboard):
29 """Generate the info.json data for a specific keyboard. 29 """Generate the info.json data for a specific keyboard.
30 """ 30 """
31 cur_dir = Path('keyboards') 31 cur_dir = Path('keyboards')
32 rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') 32 root_rules_mk = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
33 if 'DEFAULT_FOLDER' in rules: 33
34 keyboard = rules['DEFAULT_FOLDER'] 34 if 'DEFAULT_FOLDER' in root_rules_mk:
35 rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk', rules) 35 keyboard = root_rules_mk['DEFAULT_FOLDER']
36 36
37 info_data = { 37 info_data = {
38 'keyboard_name': str(keyboard), 38 'keyboard_name': str(keyboard),
diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py
index 2d5921e7a..6eec49cfd 100644
--- a/lib/python/qmk/keymap.py
+++ b/lib/python/qmk/keymap.py
@@ -149,8 +149,8 @@ def is_keymap_dir(keymap, c=True, json=True, additional_files=None):
149 for file in files: 149 for file in files:
150 if (keymap / file).is_file(): 150 if (keymap / file).is_file():
151 if additional_files: 151 if additional_files:
152 for file in additional_files: 152 for additional_file in additional_files:
153 if not (keymap / file).is_file(): 153 if not (keymap / additional_file).is_file():
154 return False 154 return False
155 155
156 return True 156 return True