]> kaliko git repositories - mpd-sima.git/blobdiff - sima/utils/config.py
Fixed http client not honoring HTTP_PROXY (Closes #3)
[mpd-sima.git] / sima / utils / config.py
index 0e775ecc54d5c1294daebdc643b1250fe3037d0f..92d3fb916c4b6ff2b499c712e7c4f1f284e6725a 100644 (file)
@@ -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,
+            },
         }
 #
 
@@ -123,9 +127,16 @@ class ConfMan(object):  # CONFIG MANAGER CLASS
         self.supersedes_config_with_cmd_line_options()
         # Controls files access
         self.control_facc()
-        # generate dbfile
+        # set dbfile
         self.config['sima']['db_file'] = join(self.config['sima']['var_dir'], 'sima.db')
 
+        # Create directories
+        data_dir = self.config['sima']['var_dir']
+        if not isdir(data_dir):
+            self.log.trace('Creating "{}"'.format(data_dir))
+            makedirs(data_dir)
+            chmod(data_dir, 0o700)
+
     def control_facc(self):
         """Controls file access.
         This is relevant only for file provided through the configuration file
@@ -133,8 +144,8 @@ class ConfMan(object):  # CONFIG MANAGER CLASS
         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):
@@ -202,14 +213,10 @@ class ConfMan(object):  # CONFIG MANAGER CLASS
         elif homedir and isdir(homedir) and homedir not in ['/']:
             data_dir = join(homedir, '.local', 'share', DIRNAME)
         else:
-            self.log.error('Can\'t find a suitable location for data folder (XDG_DATA_HOME)')
-            self.log.error('Please use "--var_dir" to set a proper location')
+            self.log.critical('Can\'t find a suitable location for data folder (XDG_DATA_HOME)')
+            self.log.critical('Please use "--var-dir" to set a proper location')
             sys.exit(1)
 
-        if not isdir(data_dir):
-            makedirs(data_dir)
-            chmod(data_dir, 0o700)
-
         if self.startopt.get('conf_file'):
             # No need to handle conf file location
             pass
@@ -217,10 +224,6 @@ class ConfMan(object):  # CONFIG MANAGER CLASS
             conf_dir = join(environ.get('XDG_CONFIG_HOME'), DIRNAME)
         elif homedir and isdir(homedir) and homedir not in ['/']:
             conf_dir = join(homedir, '.config', DIRNAME)
-            # Create conf_dir if necessary
-            if not isdir(conf_dir):
-                makedirs(conf_dir)
-                chmod(conf_dir, 0o700)
             self.conf_file = join(conf_dir, CONF_FILE)
         else:
             self.log.critical('Can\'t find a suitable location for config folder (XDG_CONFIG_HOME)')