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:

Reply via email to