commit:     c01f95755e8b457e4f9edb2e2e1ec60331e33ca6
Author:     aeroniero33 <justthisthing <AT> gmail <DOT> com>
AuthorDate: Fri Jun 17 13:56:24 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 23 07:41:41 2016 +0000
URL:        https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=c01f9575

Made the default GPG config file overridable

<rebase edit> Remove trailing whitespace </edit Brian Dolbec>

 gkeys-gen/gkeygen/actions.py | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/gkeys-gen/gkeygen/actions.py b/gkeys-gen/gkeygen/actions.py
index aaedcd1..403c779 100644
--- a/gkeys-gen/gkeygen/actions.py
+++ b/gkeys-gen/gkeygen/actions.py
@@ -127,6 +127,21 @@ class Actions(object):
         self.output = output
         self.logger = logger
 
+    def configure_config_file(self,args, gpghome):
+        '''Creates the config file'''
+        newgpgconfpath = os.path.join(gpghome, 'gpg.conf')
+        defaultpath = '/usr/share/gnupg/gpg-conf.skel'
+        file_exists = False
+        while not file_exists:
+            skelconfpath = py_input("Path of default gpg configuration file to 
use (default: %s) " %defaultpath)
+            if len(skelconfpath) <= 0:
+                skelconfpath = defaultpath
+            file_exists = os.path.exists(skelconfpath)
+        shutil.copy(skelconfpath, newgpgconfpath)
+        with open(newgpgconfpath, 'a') as conf:
+            for line in urlopen(self.config.get_key('gpg-urls', args.spec)):
+                conf.write(_unicode(line.decode('utf-8')))
+
 
     def genkey(self, args):
         '''Generate a gpg key using a spec file'''
@@ -158,12 +173,7 @@ class Actions(object):
             self.output(["\n* Creating gpg folder at %s" % gpghome_full_path])
             ensure_dirs(gpghome)
             # Copy default gpg-conf.skel and append glep63 requirements
-            self.output(["* Creating gpg.conf file at %s" % gpghome_full_path])
-            newgpgconfpath = os.path.join(gpghome, 'gpg.conf')
-            shutil.copy('/usr/share/gnupg/gpg-conf.skel', newgpgconfpath)
-            with open(newgpgconfpath, 'a') as conf:
-                for line in urlopen(self.config.get_key('gpg-urls', 
args.spec)):
-                    conf.write(_unicode(line.decode('utf-8')))
+            self.configure_config_file(args, gpghome)
             # Key generation
             ctx = gpgme.Context()
             self.logger.info("MAIN: _action_genkey: Generating GPG key...")

Reply via email to