commands: Use argparse to split config files into a list
This commit is contained in:
parent
df2abde258
commit
5e4f22bd17
@ -42,9 +42,6 @@ def main():
|
||||
if args.show_deps:
|
||||
commands.show_deps()
|
||||
|
||||
config_files = args.config.split(b':')
|
||||
config_overrides = args.overrides
|
||||
|
||||
loop = gobject.MainLoop()
|
||||
enabled_extensions = [] # Make sure it is defined before the finally block
|
||||
logging_initialized = False
|
||||
@ -54,7 +51,8 @@ def main():
|
||||
|
||||
try:
|
||||
# Initial config without extensions to bootstrap logging.
|
||||
logging_config, _ = config_lib.load(config_files, [], config_overrides)
|
||||
logging_config, _ = config_lib.load(
|
||||
args.config_files, [], args.config_overrides)
|
||||
|
||||
# TODO: setup_logging needs defaults in-case config values are None
|
||||
log.setup_logging(
|
||||
@ -64,7 +62,7 @@ def main():
|
||||
installed_extensions = ext.load_extensions()
|
||||
|
||||
config, config_errors = config_lib.load(
|
||||
config_files, installed_extensions, config_overrides)
|
||||
args.config_files, installed_extensions, args.config_overrides)
|
||||
|
||||
# Filter out disabled extensions and remove any config errors for them.
|
||||
for extension in installed_extensions:
|
||||
|
||||
@ -7,6 +7,10 @@ from mopidy import config as config_lib, ext
|
||||
from mopidy.utils import deps, versioning
|
||||
|
||||
|
||||
def config_files_type(value):
|
||||
return value.split(b':')
|
||||
|
||||
|
||||
def config_override_type(value):
|
||||
try:
|
||||
return config_lib.parse_override(value)
|
||||
@ -41,22 +45,20 @@ parser.add_argument(
|
||||
help='show dependencies and their versions')
|
||||
parser.add_argument(
|
||||
'--config',
|
||||
action='store', dest='config',
|
||||
action='store', dest='config_files', type=config_files_type,
|
||||
default=b'$XDG_CONFIG_DIR/mopidy/mopidy.conf',
|
||||
help='config files to use, colon seperated, later files override')
|
||||
parser.add_argument(
|
||||
'-o', '--option',
|
||||
action='append', dest='overrides', type=config_override_type,
|
||||
action='append', dest='config_overrides', type=config_override_type,
|
||||
help='`section/key=value` values to override config options')
|
||||
|
||||
|
||||
def show_config(args):
|
||||
"""Prints the effective config and exits."""
|
||||
files = vars(args).get('config', b'').split(b':')
|
||||
overrides = vars(args).get('overrides', [])
|
||||
|
||||
extensions = ext.load_extensions()
|
||||
config, errors = config_lib.load(files, extensions, overrides)
|
||||
config, errors = config_lib.load(
|
||||
args.config_files, extensions, args.config_overrides)
|
||||
|
||||
# Clear out any config for disabled extensions.
|
||||
for extension in extensions:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user