7a25dcacff
* stash poc * stash * tidy up implementation * Tidy up slightly for review * Tidy up slightly for review * Bodge environment to make tests pass * Refactor away from asyncio due to windows issues * Filter devices * align vid/pid printing * Add hidapi to the installers * start preparing for multiple hid_listeners * udev rules for hid_listen * refactor to move closer to end state * very basic implementation of the threaded model * refactor how vid/pid/index are supplied and parsed * windows improvements * read the report directly when usage page isn't available * add per-device colors, the choice to show names or numbers, and refactor * add timestamps * Add support for showing bootloaders * tweak the color for bootloaders * Align bootloader disconnect with connect color * add support for showing all bootloaders * fix the pyusb check * tweaks * fix exception * hide a stack trace behind -v * add --no-bootloaders option * add documentation for qmk console * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * pyformat * clean up and flesh out KNOWN_BOOTLOADERS Co-authored-by: zvecr <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
63 lines
1.4 KiB
Python
63 lines
1.4 KiB
Python
"""QMK CLI Subcommands
|
|
|
|
We list each subcommand here explicitly because all the reliable ways of searching for modules are slow and delay startup.
|
|
"""
|
|
import sys
|
|
|
|
from milc import cli, __VERSION__
|
|
|
|
from . import c2json
|
|
from . import cformat
|
|
from . import chibios
|
|
from . import clean
|
|
from . import compile
|
|
from . import config
|
|
from . import console
|
|
from . import docs
|
|
from . import doctor
|
|
from . import fileformat
|
|
from . import flash
|
|
from . import format
|
|
from . import generate
|
|
from . import hello
|
|
from . import info
|
|
from . import json2c
|
|
from . import lint
|
|
from . import list
|
|
from . import kle2json
|
|
from . import new
|
|
from . import pyformat
|
|
from . import pytest
|
|
|
|
# Supported version information
|
|
#
|
|
# Based on the OSes we support these are the minimum python version available by default.
|
|
# Last update: 2021 Jan 02
|
|
#
|
|
# Arch: 3.9
|
|
# Debian: 3.7
|
|
# Fedora 31: 3.7
|
|
# Fedora 32: 3.8
|
|
# Fedora 33: 3.9
|
|
# FreeBSD: 3.7
|
|
# Gentoo: 3.7
|
|
# macOS: 3.9 (from homebrew)
|
|
# msys2: 3.8
|
|
# Slackware: 3.7
|
|
# solus: 3.7
|
|
# void: 3.9
|
|
|
|
if sys.version_info[0] != 3 or sys.version_info[1] < 7:
|
|
print('Error: Your Python is too old! Please upgrade to Python 3.7 or later.')
|
|
exit(127)
|
|
|
|
milc_version = __VERSION__.split('.')
|
|
|
|
if int(milc_version[0]) < 2 and int(milc_version[1]) < 3:
|
|
from pathlib import Path
|
|
|
|
requirements = Path('requirements.txt').resolve()
|
|
|
|
print(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}')
|
|
exit(127)
|