[Infrastructures] ISconf patch
Timur Izhbulatov
timur@oilspace.com
Sun, 18 Nov 2007 19:15:38 +0300
This is a multi-part message in MIME format.
--------------030201020806080109060302
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
I've been playing with ISconf.GPG and this resulted in a small patch (attached).
It allows to avoid writing debugging messages to stdout. One can use the
verbose argument of the constructor to pass a callable object which will be
used to write debugging messages somehere else. I pesonally use it like this:
gpg = isconf.GPG.GPG(GPG, verbose=lambda arg: log.debug(str(arg)))
, where log is a Logger instance from the standard logging module.
Also, the patch adds few methods to fix AttributeError exceptions which I got
with my version of GnuPG (1.4.6).
Best Regards,
--------------030201020806080109060302
Content-Type: text/x-patch;
name="trunk.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="trunk.diff"
Index: GPG.py
===================================================================
--- GPG.py (revision 233)
+++ GPG.py (working copy)
@@ -91,7 +91,9 @@
cmd.extend(args)
cmd = ' '.join(cmd)
- if self.verbose:
+ if callable(self.verbose):
+ self.verbose(cmd)
+ elif self.verbose:
print cmd
child_stdout, child_stdin, child_stderr, child_pass = \
@@ -111,8 +113,14 @@
while 1:
line = child_stderr.readline()
response.stderr += line
- if self.verbose: print line
- if line == "": break
+
+ if callable(self.verbose):
+ self.verbose(line)
+ elif self.verbose:
+ print cmd
+
+ if not line:
+ break
line = line.rstrip()
if line[0:9] == '[GNUPG:] ':
# Chop off the prefix
@@ -538,6 +546,7 @@
# these showed up in gpg 1.4.1
def PLAINTEXT(self,value): pass
def PLAINTEXT_LENGTH(self,value): pass
+ def ERRSIG(self,value): pass
def is_valid(self):
return self.valid
@@ -734,6 +743,7 @@
def NEED_PASSPHRASE(self, value): pass
def BAD_PASSPHRASE(self, value): pass
def GOOD_PASSPHRASE(self, value): pass
+ def BEGIN_SIGNING(self, value): pass
# SIG_CREATED <type> <pubkey algo> <hash algo> <class> <timestamp> <key fpr>
def SIG_CREATED(self, value):
--------------030201020806080109060302--