X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Futils%2Fconfig.py;h=c9240ea1c8a094d9b244c4708f5cf6588196d2c6;hb=03b3fce479e480222a1161f56d6551f5b47e83b9;hp=0f13cba8afa249f5242aa7327b40aa99bc085c2b;hpb=0374809fd2dd8e22c24efc0ce08df9ceefcf01b5;p=mpd-sima.git diff --git a/sima/utils/config.py b/sima/utils/config.py index 0f13cba..c9240ea 100644 --- a/sima/utils/config.py +++ b/sima/utils/config.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2009, 2010, 2011, 2013, 2014, 2015 Jack Kaliko +# Copyright (c) 2009-2015, 2019-2020 kaliko +# Copyright (c) 2019 sacha # # This file is part of sima # @@ -53,8 +54,11 @@ DEFAULT_CONF = { 'queue_length': 2, 'var_dir': 'empty', 'musicbrainzid': "true", + 'repeat_disable_queue': "true", + 'single_disable_queue': "true", + 'mopidy_compat': "false", }, - 'daemon':{ + 'daemon': { 'daemon': False, 'pidfile': "", }, @@ -67,17 +71,19 @@ DEFAULT_CONF = { 'priority': 0, }, 'lastfm': { - 'queue_mode': "track", #TODO control values + 'queue_mode': "track", # TODO control values 'max_art': 10, 'single_album': "false", 'track_to_add': 1, 'album_to_add': 1, + 'shuffle_album': False, + 'track_to_add_from_album': 0, # <=0 means keep all 'depth': 1, 'cache': True, 'priority': 100, }, 'random': { - 'flavour': "sensible", # in pure, sensible + 'flavour': "sensible", # in pure, sensible 'track_to_add': 1, 'priority': 50, }, @@ -85,7 +91,7 @@ DEFAULT_CONF = { # -class ConfMan(object): # CONFIG MANAGER CLASS +class ConfMan: # CONFIG MANAGER CLASS """ Configuration manager. Default configuration is stored in DEFAULT_CONF dictionnary. @@ -124,7 +130,7 @@ class ConfMan(object): # CONFIG MANAGER CLASS # Create directories data_dir = self.config['sima']['var_dir'] if not isdir(data_dir): - self.log.trace('Creating "{}"'.format(data_dir)) + self.log.trace('Creating "%s"', data_dir) makedirs(data_dir) chmod(data_dir, 0o700) @@ -176,6 +182,12 @@ class ConfMan(object): # CONFIG MANAGER CLASS for opt in self.config.options(sec): if opt in list(self.startopt.keys()): self.config.set(sec, opt, str(self.startopt.get(opt))) + # honor MPD_HOST format as in mpc(1) for command line option --host + if self.startopt.get('host'): + if '@' in self.startopt.get('host'): + passwd, host = self.startopt.get('host').split('@') + self.config.set('MPD', 'password', passwd) + self.config.set('MPD', 'host', host) def use_envar(self): """Use MPD en.var. to set defaults"""