commit:     d3446934815ba262e479cea7272a524b65d3f041
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 13 05:58:59 2015 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 31 03:43:47 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=d3446934

gkeys/actions.py: Trap UnicodeDecodeError for installkey()

Add debug logging for the error.

---
 gkeys/gkeys/actions.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
index 23c71fc..ad03038 100644
--- a/gkeys/gkeys/actions.py
+++ b/gkeys/gkeys/actions.py
@@ -292,9 +292,16 @@ class Actions(object):
                     msg = "key desired: %(name)s, key added: %(key)s, 
succeeded:" +\
                         " %(success)s, fingerprint: %(fpr)s"
                     for result in results[key.name]:
-                        print(msg % ({'name': key.name, 'key': result.username,
-                            'success': not result.failed,
-                            'fpr': result.fingerprint}))
+                        try:
+                            print(msg % ({'name': key.name, 'key': 
result.username,
+                                'success': str(not result.failed),
+                                'fpr': result.fingerprint}))
+                        except UnicodeDecodeError:
+                            print("UnicodeDecodeError printing results for:", 
key.name)
+                            self.logger.debug("installkey(); 
UnicodeDecodeError for:" + key.name)
+                            self.logger.debug("    result.username...:" + 
result.username)
+                            self.logger.debug("    result.failed.....:" + 
result.failed)
+                            self.logger.debug("    result.fingerprint:" + 
result.fingerprint)
                         self.logger.debug("stderr_out: " + 
str(result.stderr_out))
                         if result.failed:
                             failed.append(key)
@@ -564,7 +571,7 @@ class Actions(object):
                         "succeeded: %(success)s, fingerprint: %(fpr)s"
                     for result in results[gkey.name]:
                         print(msg % ({'name': gkey.name, 'key': 
result.username,
-                            'success': not result.failed,
+                            'success': str(not result.failed),
                             'fpr': result.fingerprint}))
                         self.logger.debug("stderr_out: " + 
str(result.stderr_out))
                         if result.failed:

Reply via email to