From bc38c38f8c25dcbe759bc4d9d707a0069b3c6c59 Mon Sep 17 00:00:00 2001 From: Zach White Date: Mon, 10 May 2021 12:00:52 -0700 Subject: Move the module checking and updating to lib/python (#12416) * move the module checking and updating to lib/python * make flake8 happy * Update lib/python/qmk/cli/__init__.py Co-authored-by: Erovia * prompt the user to disable developer mode * pyformat * flake8 Co-authored-by: Erovia --- bin/qmk | 44 -------------------------------------------- 1 file changed, 44 deletions(-) (limited to 'bin') diff --git a/bin/qmk b/bin/qmk index a3c1be328a..47b50f83b3 100755 --- a/bin/qmk +++ b/bin/qmk @@ -3,7 +3,6 @@ """ import os import sys -from importlib.util import find_spec from pathlib import Path # Add the QMK python libs to our path @@ -12,52 +11,9 @@ qmk_dir = script_dir.parent python_lib_dir = Path(qmk_dir / 'lib' / 'python').resolve() sys.path.append(str(python_lib_dir)) - -def _check_modules(requirements): - """ Check if the modules in the given requirements.txt are available. - """ - with Path(qmk_dir / requirements).open() as fd: - for line in fd.readlines(): - line = line.strip().replace('<', '=').replace('>', '=') - - if len(line) == 0 or line[0] == '#' or line.startswith('-r'): - continue - - if '#' in line: - line = line.split('#')[0] - - module = dict() - module['name'] = line.split('=')[0] if '=' in line else line - module['import'] = module['name'].replace('-', '_') - - # Not every module is importable by its own name. - if module['name'] == "pep8-naming": - module['import'] = "pep8ext_naming" - - if not find_spec(module['import']): - print('Could not find module %s!' % module['name']) - print('Please run `python3 -m pip install -r %s` to install required python dependencies.' % (qmk_dir / requirements,)) - if developer: - print('You can also turn off developer mode: qmk config user.developer=None') - print() - exit(255) - - -developer = False -# Make sure our modules have been setup -_check_modules('requirements.txt') - # Setup the CLI import milc # noqa -# For developers additional modules are needed -if milc.cli.config.user.developer: - # Do not run the check for 'config', - # so users can turn off developer mode - if len(sys.argv) == 1 or (len(sys.argv) > 1 and 'config' != sys.argv[1]): - developer = True - _check_modules('requirements-dev.txt') - milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}' -- cgit v1.2.3