commands: Use argparse to split config files into a list

This commit is contained in:
Stein Magnus Jodal 2013-04-30 23:23:39 +02:00
parent df2abde258
commit 5e4f22bd17
2 changed files with 11 additions and 11 deletions

View File

@ -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:

View File

@ -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: