diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/python/qmk/cli/__init__.py | 75 | ||||
-rw-r--r-- | lib/python/qmk/cli/chibios/__init__.py | 1 | ||||
-rw-r--r-- | lib/python/qmk/cli/format/__init__.py | 1 | ||||
-rw-r--r-- | lib/python/qmk/cli/generate/__init__.py | 9 | ||||
-rw-r--r-- | lib/python/qmk/cli/list/__init__.py | 2 | ||||
-rw-r--r-- | lib/python/qmk/cli/new/__init__.py | 2 |
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 | ||
29 | subcommands = [ | ||
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 | ||
30 | def _run_cmd(*command): | 66 | def _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 | ||
114 | milc_version = __VERSION__.split('.') | 150 | milc_version = __VERSION__.split('.') |
115 | 151 | ||
116 | if int(milc_version[0]) < 2 and int(milc_version[1]) < 3: | 152 | if 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:] | |||
125 | while args and args[0][0] == '-': | 161 | while args and args[0][0] == '-': |
126 | del args[0] | 162 | del args[0] |
127 | 163 | ||
128 | if not args or args[0] not in safe_commands: | 164 | safe_command = args and args[0] in safe_commands |
165 | |||
166 | if 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 |
151 | from . import bux # noqa | 189 | for subcommand in subcommands: |
152 | from . import c2json # noqa | 190 | try: |
153 | from . import cformat # noqa | 191 | __import__(subcommand) |
154 | from . import chibios # noqa | 192 | |
155 | from . import clean # noqa | 193 | except ModuleNotFoundError as e: |
156 | from . import compile # noqa | 194 | if safe_command: |
157 | from milc.subcommand import config # noqa | 195 | print(f'Warning: Could not import {subcommand}: {e.__class__.__name__}, {e}') |
158 | from . import console # noqa | 196 | else: |
159 | from . import docs # noqa | 197 | raise |
160 | from . import doctor # noqa | ||
161 | from . import fileformat # noqa | ||
162 | from . import flash # noqa | ||
163 | from . import format # noqa | ||
164 | from . import generate # noqa | ||
165 | from . import hello # noqa | ||
166 | from . import info # noqa | ||
167 | from . import json2c # noqa | ||
168 | from . import lint # noqa | ||
169 | from . import list # noqa | ||
170 | from . import kle2json # noqa | ||
171 | from . import multibuild # noqa | ||
172 | from . import new # noqa | ||
173 | from . import pyformat # noqa | ||
174 | from . 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 @@ | |||
1 | from . 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 @@ | |||
1 | from . 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 @@ | |||
1 | from . import api | ||
2 | from . import config_h | ||
3 | from . import dfu_header | ||
4 | from . import docs | ||
5 | from . import info_json | ||
6 | from . import keyboard_h | ||
7 | from . import layouts | ||
8 | from . import rgb_breathe_table | ||
9 | from . 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 @@ | |||
1 | from . import keyboards | ||
2 | from . 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 @@ | |||
1 | from . import keyboard | ||
2 | from . import keymap | ||