commit:     ccb9e31c253a0f4ae9c096ce571a7c7109a33fd0
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  5 08:56:12 2015 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Mon Jan  5 22:21:53 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=ccb9e31c

gkeys, gkeyldap: Update updatefiles() config handling

Add category and filename options, ensure 1 of them is passed in.
Fix logic error that did not report the failure to find the file to update.

---
 gkeys-ldap/gkeyldap/actions.py |  2 +-
 gkeys/gkeys/fileops.py         | 55 ++++++++++++++++++++++++------------------
 2 files changed, 32 insertions(+), 25 deletions(-)

diff --git a/gkeys-ldap/gkeyldap/actions.py b/gkeys-ldap/gkeyldap/actions.py
index dde2bc8..4a3db84 100644
--- a/gkeys-ldap/gkeyldap/actions.py
+++ b/gkeys-ldap/gkeyldap/actions.py
@@ -107,7 +107,7 @@ class Actions(object):
             self.logger.error("Developer seed file update failure: "
                 "Original seed file is intact & untouched.")
         self.output('', "Backing up existing file...")
-        status = updatefiles(self.config, self.logger)
+        status = updatefiles(self.config, self.logger, args.category)
         if not status:
             self.output('', "Develope seed failed to update!")
             return False

diff --git a/gkeys/gkeys/fileops.py b/gkeys/gkeys/fileops.py
index 7cb244f..5b89ea8 100644
--- a/gkeys/gkeys/fileops.py
+++ b/gkeys/gkeys/fileops.py
@@ -30,27 +30,34 @@ def ensure_dirs(path, gid=-1, uid=-1, mode=0o700, 
minimal=True, failback=None, f
     return succeeded
 
 
-def updatefiles(config, logger):
-        filename = config['dev-seedfile']
-        old = filename + '.old'
-        try:
-            logger.info("Backing up existing file...")
-            if os.path.exists(old):
-                logger.debug(
-                    "MAIN: _action_updatefile; Removing 'old' seed file: %s"
-                    % old)
-                os.unlink(old)
-            if os.path.exists(filename):
-                logger.debug(
-                    "MAIN: _action_updatefile; Renaming current seed file to: "
-                    "%s" % old)
-                os.rename(filename, old)
-            if os.path.exists(filename + '.new'):
-                logger.debug(
-                    "MAIN: _action_updatefile; Renaming '.new' seed file to: 
%s"
-                    % filename)
-                os.rename(filename + '.new', filename)
-        except IOError:
-            raise
-            return False
-        return True
+def updatefiles(config, logger, category=None, filename = None):
+    if category and not filename:
+        filename = config.get_key('seeds', category)
+    elif not filename:
+        logger.error("MAIN: updatefiles();  category or filename not supplied")
+        return False
+    old = filename + '.old'
+    try:
+        logger.info("Backing up existing file...")
+        if os.path.exists(old):
+            logger.debug(
+                "MAIN: updatefiles(); Removing 'old' seed file: %s"
+                % old)
+            os.unlink(old)
+        if os.path.exists(filename):
+            logger.debug(
+                "MAIN: updatefiles(); Renaming current seed file to: "
+                "%s" % old)
+            os.rename(filename, old)
+        if os.path.exists(filename + '.new'):
+            logger.debug(
+                "MAIN: updatefiles(); Renaming '.new' seed file to: %s"
+                % filename)
+            os.rename(filename + '.new', filename)
+        else:
+            logger.error("MAIN: updatefiles(); Renaming "
+                "'%s.new' seed DOES NOT EXIST!" % filename)
+    except IOError:
+        raise
+        return False
+    return True

Reply via email to