aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/python/qmk/cli/__init__.py75
-rw-r--r--lib/python/qmk/cli/chibios/__init__.py1
-rw-r--r--lib/python/qmk/cli/format/__init__.py1
-rw-r--r--lib/python/qmk/cli/generate/__init__.py9
-rw-r--r--lib/python/qmk/cli/list/__init__.py2
-rw-r--r--lib/python/qmk/cli/new/__init__.py2
6 files changed, 49 insertions, 41 deletions
diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py
index 48812ae4b..32da1a9b5 100644
--- a/lib/python/qmk/cli/__init__.py
+++ b/lib/python/qmk/cli/__init__.py
@@ -26,6 +26,42 @@ safe_commands = [
26 'setup', 26 'setup',
27] 27]
28 28
29subcommands = [
30 'qmk.cli.bux',
31 'qmk.cli.c2json',
32 'qmk.cli.cformat',
33 'qmk.cli.chibios.confmigrate',
34 'qmk.cli.clean',
35 'qmk.cli.compile',
36 'qmk.cli.console',
37 'qmk.cli.docs',
38 'qmk.cli.doctor',
39 'qmk.cli.fileformat',
40 'qmk.cli.flash',
41 'qmk.cli.format.json',
42 'qmk.cli.generate.api',
43 'qmk.cli.generate.config_h',
44 'qmk.cli.generate.dfu_header',
45 'qmk.cli.generate.docs',
46 'qmk.cli.generate.info_json',
47 'qmk.cli.generate.keyboard_h',
48 'qmk.cli.generate.layouts',
49 'qmk.cli.generate.rgb_breathe_table',
50 'qmk.cli.generate.rules_mk',
51 'qmk.cli.hello',
52 'qmk.cli.info',
53 'qmk.cli.json2c',
54 'qmk.cli.lint',
55 'qmk.cli.list.keyboards',
56 'qmk.cli.list.keymaps',
57 'qmk.cli.kle2json',
58 'qmk.cli.multibuild',
59 'qmk.cli.new.keyboard',
60 'qmk.cli.new.keymap',
61 'qmk.cli.pyformat',
62 'qmk.cli.pytest',
63]
64
29 65
30def _run_cmd(*command): 66def _run_cmd(*command):
31 """Run a command in a subshell. 67 """Run a command in a subshell.
@@ -113,7 +149,7 @@ if sys.version_info[0] != 3 or sys.version_info[1] < 7:
113 149
114milc_version = __VERSION__.split('.') 150milc_version = __VERSION__.split('.')
115 151
116if int(milc_version[0]) < 2 and int(milc_version[1]) < 3: 152if int(milc_version[0]) < 2 and int(milc_version[1]) < 4:
117 requirements = Path('requirements.txt').resolve() 153 requirements = Path('requirements.txt').resolve()
118 154
119 print(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}') 155 print(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}')
@@ -125,7 +161,9 @@ args = sys.argv[1:]
125while args and args[0][0] == '-': 161while args and args[0][0] == '-':
126 del args[0] 162 del args[0]
127 163
128if not args or args[0] not in safe_commands: 164safe_command = args and args[0] in safe_commands
165
166if not safe_command:
129 if _broken_module_imports('requirements.txt'): 167 if _broken_module_imports('requirements.txt'):
130 if yesno('Would you like to install the required Python modules?'): 168 if yesno('Would you like to install the required Python modules?'):
131 _run_cmd(sys.executable, '-m', 'pip', 'install', '-r', 'requirements.txt') 169 _run_cmd(sys.executable, '-m', 'pip', 'install', '-r', 'requirements.txt')
@@ -148,27 +186,12 @@ if not args or args[0] not in safe_commands:
148 exit(1) 186 exit(1)
149 187
150# Import our subcommands 188# Import our subcommands
151from . import bux # noqa 189for subcommand in subcommands:
152from . import c2json # noqa 190 try:
153from . import cformat # noqa 191 __import__(subcommand)
154from . import chibios # noqa 192
155from . import clean # noqa 193 except ModuleNotFoundError as e:
156from . import compile # noqa 194 if safe_command:
157from milc.subcommand import config # noqa 195 print(f'Warning: Could not import {subcommand}: {e.__class__.__name__}, {e}')
158from . import console # noqa 196 else:
159from . import docs # noqa 197 raise
160from . import doctor # noqa
161from . import fileformat # noqa
162from . import flash # noqa
163from . import format # noqa
164from . import generate # noqa
165from . import hello # noqa
166from . import info # noqa
167from . import json2c # noqa
168from . import lint # noqa
169from . import list # noqa
170from . import kle2json # noqa
171from . import multibuild # noqa
172from . import new # noqa
173from . import pyformat # noqa
174from . import pytest # noqa
diff --git a/lib/python/qmk/cli/chibios/__init__.py b/lib/python/qmk/cli/chibios/__init__.py
index 4301837de..e69de29bb 100644
--- a/lib/python/qmk/cli/chibios/__init__.py
+++ b/lib/python/qmk/cli/chibios/__init__.py
@@ -1 +0,0 @@
1from . import confmigrate
diff --git a/lib/python/qmk/cli/format/__init__.py b/lib/python/qmk/cli/format/__init__.py
index 741ec778b..e69de29bb 100644
--- a/lib/python/qmk/cli/format/__init__.py
+++ b/lib/python/qmk/cli/format/__init__.py
@@ -1 +0,0 @@
1from . import json
diff --git a/lib/python/qmk/cli/generate/__init__.py b/lib/python/qmk/cli/generate/__init__.py
index 0efca0022..e69de29bb 100644
--- a/lib/python/qmk/cli/generate/__init__.py
+++ b/lib/python/qmk/cli/generate/__init__.py
@@ -1,9 +0,0 @@
1from . import api
2from . import config_h
3from . import dfu_header
4from . import docs
5from . import info_json
6from . import keyboard_h
7from . import layouts
8from . import rgb_breathe_table
9from . import rules_mk
diff --git a/lib/python/qmk/cli/list/__init__.py b/lib/python/qmk/cli/list/__init__.py
index d83cd20b5..e69de29bb 100644
--- a/lib/python/qmk/cli/list/__init__.py
+++ b/lib/python/qmk/cli/list/__init__.py
@@ -1,2 +0,0 @@
1from . import keyboards
2from . import keymaps
diff --git a/lib/python/qmk/cli/new/__init__.py b/lib/python/qmk/cli/new/__init__.py
index fe5d6fe48..e69de29bb 100644
--- a/lib/python/qmk/cli/new/__init__.py
+++ b/lib/python/qmk/cli/new/__init__.py
@@ -1,2 +0,0 @@
1from . import keyboard
2from . import keymap