# -*- coding: utf-8 -*-
-# Copyright (c) 2013, 2014, 2015, 2020, 2021 kaliko <kaliko@azylum.org>
+# Copyright (c) 2013, 2014, 2015, 2020-2022 kaliko <kaliko@azylum.org>
#
# This file is part of sima
#
from . import core, info
from .lib.logger import set_logger
from .lib.simadb import SimaDB
+from .mpdclient import PlayerError
from .utils.config import ConfMan
from .utils.startopt import StartOpt
from .utils.utils import exception_log, SigHup, MPDSimaException
# TODO: Sanity check for "sima.config.get('sima', source)" ?
for plugin in sima.config.get('sima', source).split(','):
plugin = plugin.strip(' \n')
- module = 'sima.plugins.{0}.{1}'.format(source, plugin.lower())
+ module = f'sima.plugins.{source}.{plugin.lower()}'
try:
mod_obj = sima_import(module, fromlist=[plugin])
except ImportError as err:
- logger.error('Failed to load "{}" plugin\'s module: '.format(plugin) +
- '{0} ({1})'.format(module, err))
+ logger.error(f'Failed to load "{plugin}" plugin\'s module: ' +
+ f'{module} ({err})')
sima.shutdown()
sys.exit(1)
try:
sys.exit(1)
SimaDB(db_path=db_file).purge_history(duration=0)
sys.exit(0)
+ if cmd == 'random':
+ config['sima']['internal'] = 'Crop, Random'
+ if sopt.options.get('nbtracks'):
+ config['random']['track_to_add'] = str(sopt.options.get('nbtracks'))
logger.info('Starting (%s)...', info.__version__)
sima = core.Sima(config)
start(sopt, restart)
except SigHup: # SigHup inherit from Exception
run(sopt, True)
- except MPDSimaException as err:
+ except (MPDSimaException, PlayerError) as err:
logger.error(err)
sys.exit(2)
except Exception: # Unhandled exception