From b605838732640621f491bc3d1ed1a1050988c364 Mon Sep 17 00:00:00 2001
From: Kjell Braden <afflux.gajim@kjellbraden.de>
Date: Tue, 30 Aug 2011 21:55:32 +0200
Subject: [PATCH] make gotr plugin less verbose, fix key regeneration

---
 gotr/otrmodule.py | 19 +++++++++++++++----
 gotr/ui.py        |  2 +-
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/gotr/otrmodule.py b/gotr/otrmodule.py
index 0a3bb2aa..dbbd9979 100644
--- a/gotr/otrmodule.py
+++ b/gotr/otrmodule.py
@@ -145,13 +145,23 @@ class GajimOtrAccount(potr.context.Account):
         super(GajimOtrAccount, self).__init__(name, PROTOCOL, MMS)
         self.keyFilePath = os.path.join(gajim.gajimpaths.data_root, accountname)
 
+    def dropPrivkey(self):
+        try:
+            os.remove(self.keyFilePath + '.key2')
+        except IOError, e:
+            if e.errno != 2:
+                log.exception('IOError occurred when removing key file for %s',
+                        self.name)
+        self.privkey = None
+
     def loadPrivkey(self):
         try:
             with open(self.keyFilePath + '.key2', 'r') as keyFile:
                 return pickle.load(keyFile)
         except IOError, e:
-            log.exception('IOError occurred when loading key file for %s',
-                    self.name)
+            if e.errno != 2:
+                log.exception('IOError occurred when loading key file for %s',
+                        self.name)
         return None
 
     def savePrivkey(self):
@@ -176,8 +186,9 @@ class GajimOtrAccount(potr.context.Account):
 
                     self.getContext(ctx, newCtxCb).setTrust(fpr, trust)
         except IOError, e:
-            log.exception('IOError occurred when loading fpr file for %s',
-                    self.name)
+            if e.errno != 2:
+                log.exception('IOError occurred when loading fpr file for %s',
+                        self.name)
 
     def saveTrusts(self):
         try:
diff --git a/gotr/ui.py b/gotr/ui.py
index dd878b86..9ee090e3 100644
--- a/gotr/ui.py
+++ b/gotr/ui.py
@@ -179,7 +179,7 @@ class OtrPluginConfigDialog(GajimPluginConfigDialog):
         if active > -1:
             account = self.otr_account_store[active][0]
             button.set_sensitive(False)
-            self.plugin.us[account].privkey = None
+            self.plugin.us[account].dropPrivkey()
             self.account_combobox_changed_cb(box, *args)
             button.set_sensitive(True)
 
-- 
GitLab