commit: d0530210fad7fefead404d07c0af4b57c8f35fca Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> AuthorDate: Tue Dec 23 02:40:01 2014 +0000 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> CommitDate: Tue Dec 23 02:48:33 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=d0530210
gkeys/config.py: Fix the config defaults to do % substitution for the defaults If it did not find and loada valid config file, the defaults did not have the % subtitution applied. The logger calls were not using the logger setting in the config. So I changed that --- gkeys/gkeys/base.py | 2 +- gkeys/gkeys/config.py | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/gkeys/gkeys/base.py b/gkeys/gkeys/base.py index 95142f9..a5e3bfa 100644 --- a/gkeys/gkeys/base.py +++ b/gkeys/gkeys/base.py @@ -203,7 +203,7 @@ class CliBase(object): logger = set_logger('gkeys', self.config['logdir'], args.debug, dirmode=int(self.config.get_key('permissions', 'directories'),0), filemask=int(self.config.get_key('permissions', 'files'),0)) - config.logger = logger + self.config.logger = logger fileops.logger = logger seed.logger = logger lib.logger = logger diff --git a/gkeys/gkeys/config.py b/gkeys/gkeys/config.py index 775ea1f..e6789ff 100644 --- a/gkeys/gkeys/config.py +++ b/gkeys/gkeys/config.py @@ -13,6 +13,8 @@ import os import sys +from collections import OrderedDict + # py3.2 if sys.hexversion >= 0x30200f0: import configparser as ConfigParser @@ -27,7 +29,6 @@ from pyGPG.config import GPGConfig from gkeys import log from gkeys.utils import path -logger = log.logger # establish the eprefix, initially set so eprefixify can @@ -60,7 +61,9 @@ class GKeysConfig(GPGConfig): """ Class initialiser """ GPGConfig.__init__(self) + self.logger = None self.root = root or '' + self.defaults = OrderedDict(self.defaults) if config: self.defaults['config'] = config self.defaults['configdir'] = os.path.dirname(config) @@ -115,6 +118,8 @@ class GKeysConfig(GPGConfig): # fix the config path self.defaults['config'] = self.defaults['config'] \ % {'configdir': self.defaults['configdir']} + for key in self.defaults: + self.defaults[key] = self._sub_(self.defaults[key]) defaults = self.get_defaults() # remove some defaults from being entered into the configparser for key in ['gpg_defaults', 'only_usable', 'refetch', 'tasks']: @@ -130,8 +135,8 @@ class GKeysConfig(GPGConfig): def _get_(self, key, subkey=None): if subkey: if self.configparser and self.configparser.has_option(key, subkey): - if logger: - logger.debug("Found %s in configparser... %s" + if self.logger: + self.logger.debug("Found %s in configparser... %s" % (key, str(self.configparser.get(key, subkey)))) return self._sub_(self.configparser.get(key, subkey)) #print("CONFIG: key, subkey", key, subkey) @@ -142,10 +147,10 @@ class GKeysConfig(GPGConfig): else: return super(GKeysConfig, self)._get_(key, subkey) elif self.configparser and self.configparser.has_option('DEFAULT', key): - if logger: - logger.debug("Found %s in configparser... %s" + if self.logger: + self.logger.debug("Found %s in configparser... %s" % (key, str(self.configparser.get('DEFAULT', key)))) - #logger.debug("type(key)= %s" + #self.logger.debug("type(key)= %s" # % str(type(self.configparser.get('DEFAULT', key)))) return self.configparser.get('DEFAULT', key) else: