diff options
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 - - [email protected]('-ro', '--read-only', arg_only=True, action='store_true', help='Operate in read-only mode.') [email protected]('configs', nargs='*', arg_only=True, help='Configuration options to read or write.') [email protected]("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 | 
