X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Futils%2Fconfig.py;h=168938a01efb12e7d2cc767c6220de401c896981;hb=43d74856c79bcbeb403638cf4637aa9679eab25c;hp=bf370f11d1408ea459132cc9c96b78f90e0143a2;hpb=d906b7f06726d9dd34ac9a6873bdf8fe683059d4;p=mpd-sima.git diff --git a/sima/utils/config.py b/sima/utils/config.py index bf370f1..168938a 100644 --- a/sima/utils/config.py +++ b/sima/utils/config.py @@ -46,7 +46,7 @@ DEFAULT_CONF = { 'port': 6600, }, 'sima': { - 'internal': "Crop, Lastfm, RandomFallBack", + 'internal': "Crop, Lastfm, Random", 'contrib': "", 'user_db': "false", 'history_duration': 8, @@ -64,6 +64,7 @@ DEFAULT_CONF = { }, 'crop': { 'consume': 10, + 'priority': 0, }, 'echonest': { 'queue_mode': "track", #TODO control values @@ -72,6 +73,7 @@ DEFAULT_CONF = { 'track_to_add': 1, 'album_to_add': 1, 'depth': 1, + 'priority': 100, }, 'lastfm': { 'queue_mode': "track", #TODO control values @@ -81,11 +83,13 @@ DEFAULT_CONF = { 'album_to_add': 1, 'depth': 1, 'cache': True, + 'priority': 100, }, - 'randomfallback': { + 'random': { 'flavour': "sensible", # in pure, sensible 'track_to_add': 1, - } + 'priority': 50, + }, } # @@ -127,13 +131,19 @@ class ConfMan(object): # CONFIG MANAGER CLASS self.config['sima']['db_file'] = join(self.config['sima']['var_dir'], 'sima.db') def control_facc(self): - """TODO: redundant with startopt cli args controls + """Controls file access. + This is relevant only for file provided through the configuration file + since files provided on the command line are already checked with + argparse. """ ok = True - for op, ftochk in [('log', self.config['log']['logfile']), - ('pidfile', self.config['daemon']['pidfile']),]: + for op, ftochk in [('logfile', self.config.get('log','logfile')), + ('pidfile', self.config.get('daemon', 'pidfile')),]: if not ftochk: continue + if isdir(ftochk): + self.log.critical('Need a file not a directory: "{}"'.format(ftochk)) + ok = False if not exists(ftochk): # Is parent directory writable then filedir = dirname(ftochk) @@ -142,9 +152,11 @@ class ConfMan(object): # CONFIG MANAGER CLASS ok = False else: if not access(ftochk, W_OK): - self.log.critical('no write access to "{0}" ({1}))'.format(ftochk, op)) + self.log.critical('no write access to "{0}" ({1})'.format(ftochk, op)) ok = False if not ok: + if exists(self.conf_file): + self.log.warning('Try to check the configuration file: {}'.format(self.conf_file)) sys.exit(2) def control_mod(self):