From: kaliko Date: Sat, 19 Sep 2015 15:35:10 +0000 (+0200) Subject: Create ~/.{config,local/share} directories if needed (Closes #2) X-Git-Tag: 0.14.0~5 X-Git-Url: http://git.kaliko.me/?a=commitdiff_plain;h=28e9bf9d6b8446fee94cdaaed5e28446dfad64b8;p=mpd-sima.git Create ~/.{config,local/share} directories if needed (Closes #2) --- diff --git a/sima/utils/config.py b/sima/utils/config.py index 168938a..346bbe7 100644 --- a/sima/utils/config.py +++ b/sima/utils/config.py @@ -127,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 @@ -206,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 @@ -221,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)')