]> kaliko git repositories - mpd-sima.git/blobdiff - sima/utils/config.py
Add blocklist commands, remove simadb_cli
[mpd-sima.git] / sima / utils / config.py
index 854d6df9cb36adc8213354b1e3b0386a4d45fc80..fd5cab6c9056d0129a71fea98a328c9f822fe258 100644 (file)
@@ -30,7 +30,7 @@ import logging
 import sys
 
 from configparser import Error
-from os import (access, makedirs, environ, stat, chmod, W_OK)
+from os import (access, makedirs, getenv, stat, chmod, W_OK)
 from os.path import (join, isdir, isfile, dirname, exists)
 from stat import (S_IMODE, ST_MODE, S_IRWXO, S_IRWXG)
 
@@ -139,7 +139,7 @@ class ConfMan:  # CONFIG MANAGER CLASS
         self.use_envar()
         self.startopt = options
 
-        ## INIT CALLS
+        # INIT CALLS
         self.init_config()
         self.supersedes_config_with_cmd_line_options()
         # set dbfile
@@ -204,9 +204,11 @@ class ConfMan:  # CONFIG MANAGER CLASS
         # 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)
+                host, passwd = utils.parse_mpd_host(self.startopt.get('host'))
+                if passwd:
+                    self.config.set('MPD', 'password', passwd)
+                if host:
+                    self.config.set('MPD', 'host', host)
 
     def use_envar(self):
         """Use MPD en.var. to set defaults"""
@@ -228,10 +230,10 @@ class ConfMan:  # CONFIG MANAGER CLASS
         http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
         """
 
-        homedir = environ.get('HOME')
+        homedir = getenv('HOME')
 
-        if environ.get('XDG_DATA_HOME'):
-            data_dir = join(environ.get('XDG_DATA_HOME'), DIRNAME)
+        if getenv('XDG_DATA_HOME'):
+            data_dir = join(getenv('XDG_DATA_HOME'), DIRNAME)
         elif homedir and isdir(homedir) and homedir not in ['/']:
             data_dir = join(homedir, '.local', 'share', DIRNAME)
         else:
@@ -242,8 +244,8 @@ class ConfMan:  # CONFIG MANAGER CLASS
         if self.startopt.get('conf_file'):
             # No need to handle conf file location
             pass
-        elif environ.get('XDG_CONFIG_HOME'):
-            conf_dir = join(environ.get('XDG_CONFIG_HOME'), DIRNAME)
+        elif getenv('XDG_CONFIG_HOME'):
+            conf_dir = join(getenv('XDG_CONFIG_HOME'), DIRNAME)
             self.conf_file = join(conf_dir, CONF_FILE)
         elif homedir and isdir(homedir) and homedir not in ['/']:
             conf_dir = join(homedir, '.config', DIRNAME)