diff options
-rw-r--r-- | gkeys/etc/gkeys.conf | 2 | ||||
-rw-r--r-- | gkeys/gkeys/base.py | 10 | ||||
-rw-r--r-- | gkeys/gkeys/config.py | 8 |
3 files changed, 14 insertions, 6 deletions
diff --git a/gkeys/etc/gkeys.conf b/gkeys/etc/gkeys.conf index 7a774be..3f15051 100644 --- a/gkeys/etc/gkeys.conf +++ b/gkeys/etc/gkeys.conf @@ -16,7 +16,7 @@ gkeysdir: /var/lib/gentoo/gkeys # default user home directory -homedir: ~ +homedir: # user gkey directory diff --git a/gkeys/gkeys/base.py b/gkeys/gkeys/base.py index 7e28b90..cfd3702 100644 --- a/gkeys/gkeys/base.py +++ b/gkeys/gkeys/base.py @@ -15,9 +15,10 @@ from __future__ import print_function import argparse +import os import sys -from gkeys import fileops +from gkeys.fileops import ensure_dirs from gkeys.log import log_levels, set_logger @@ -267,12 +268,17 @@ class CliBase(object): else: self.config.read_config(configs) + # check for permissions and adjust configs accordngly + if not self.config['homedir']: + self.config['homedir'] = os.path.expanduser('~') + if not os.access(self.config['logdir'], os.W_OK): + self.config['logdir'] = ensure_dirs( + os.path.join(self.config['user-dir'], 'logs')) # establish our logger and update it in the imported files self.logger = set_logger(self.cli_config['prog'], self.config['logdir'], args.debug, dirmode=int(self.config.get_key('permissions', 'directories'),0), filemask=int(self.config.get_key('permissions', 'files'),0)) self.config.logger = self.logger - fileops.logger = self.logger if message: self.logger.error(message) diff --git a/gkeys/gkeys/config.py b/gkeys/gkeys/config.py index fdc1cee..96e85e6 100644 --- a/gkeys/gkeys/config.py +++ b/gkeys/gkeys/config.py @@ -56,9 +56,11 @@ class GKeysConfig(GPGConfig): def _set_default_config(self): - self.defaults['homedir'] = os.path.join(os.path.expanduser('~'), '.gkeys') - self.defaults['configdir'] = self.defaults['homedir'] - self.defaults['config']= os.path.join(self.defaults['homedir'], 'gkeys.conf') + self.defaults['homedir'] = os.path.expanduser('~') + self.defaults['configdir'] = os.path.join( + self.defaults['homedir'], '.gkeys') + self.defaults['config']= os.path.join( + self.defaults['configdir'], 'gkeys.conf') if not os.path.exists(self.defaults['config']): self.defaults['configdir'] = path([self.root, EPREFIX, '/etc/gkeys']) self.defaults['config'] = '%(configdir)s/gkeys.conf' |