diff options
author | Zach White <skullydazed@gmail.com> | 2021-05-24 23:36:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-24 23:36:38 -0700 |
commit | aa97f52963f3da6aa112093d357296e62bfa5452 (patch) | |
tree | 996629641891d8fddc9973a49200ca030dc995ea /lib/python/qmk/cli/config.py | |
parent | bc67ca6a59ffa3d6e147b276c0544791e5f91d02 (diff) |
Use milc.subcommand.config instead of qmk.cli.config (#13002)
* Use milc.subcommand.config instead
* pyformat
* remove the config test
Diffstat (limited to 'lib/python/qmk/cli/config.py')
-rw-r--r-- | lib/python/qmk/cli/config.py | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/lib/python/qmk/cli/config.py b/lib/python/qmk/cli/config.py deleted file mode 100644 index e17d8bb9ba..0000000000 --- a/lib/python/qmk/cli/config.py +++ /dev/null @@ -1,116 +0,0 @@ -"""Read and write configuration settings -""" -from milc import cli - - -def print_config(section, key): - """Print a single config setting to stdout. - """ - cli.echo('%s.%s{fg_cyan}={fg_reset}%s', section, key, cli.config[section][key]) - - -def show_config(): - """Print the current configuration to stdout. - """ - for section in cli.config: - for key in cli.config[section]: - print_config(section, key) - - -def parse_config_token(config_token): - """Split a user-supplied configuration-token into its components. - """ - section = option = value = None - - if '=' in config_token and '.' not in config_token: - cli.log.error('Invalid configuration token, the key must be of the form <section>.<option>: %s', config_token) - return section, option, value - - # Separate the key (<section>.<option>) from the value - if '=' in config_token: - key, value = config_token.split('=') - else: - key = config_token - - # Extract the section and option from the key - if '.' in key: - section, option = key.split('.', 1) - else: - section = key - - return section, option, value - - -def set_config(section, option, value): - """Set a config key in the running config. - """ - log_string = '%s.%s{fg_cyan}:{fg_reset} %s {fg_cyan}->{fg_reset} %s' - if cli.args.read_only: - log_string += ' {fg_red}(change not written)' - - cli.echo(log_string, section, option, cli.config[section][option], value) - - if not cli.args.read_only: - if value == 'None': - del cli.config[section][option] - else: - cli.config[section][option] = value - - -@cli.argument('-ro', '--read-only', arg_only=True, action='store_true', help='Operate in read-only mode.') -@cli.argument('configs', nargs='*', arg_only=True, help='Configuration options to read or write.') -@cli.subcommand("Read and write configuration settings.") -def config(cli): - """Read and write config settings. - - This script iterates over the config_tokens supplied as argument. Each config_token has the following form: - - section[.key][=value] - - If only a section (EG 'compile') is supplied all keys for that section will be displayed. - - If section.key is supplied the value for that single key will be displayed. - - If section.key=value is supplied the value for that single key will be set. - - If section.key=None is supplied the key will be deleted. - - No validation is done to ensure that the supplied section.key is actually used by qmk scripts. - """ - if not cli.args.configs: - return show_config() - - # Process config_tokens - save_config = False - - for argument in cli.args.configs: - # Split on space in case they quoted multiple config tokens - for config_token in argument.split(' '): - section, option, value = parse_config_token(config_token) - - # Validation - if option and '.' in option: - cli.log.error('Config keys may not have more than one period! "%s" is not valid.', config_token) - return False - - # Do what the user wants - if section and option and value: - # Write a configuration option - set_config(section, option, value) - if not cli.args.read_only: - save_config = True - - elif section and option: - # Display a single key - print_config(section, option) - - elif section: - # Display an entire section - for key in cli.config[section]: - print_config(section, key) - - # Ending actions - if save_config: - cli.save_config() - - return True |