commit 5918bac5cb7e935d3140116c82ebefaa8bc35423
parent a4cb70649d1c1a144f28561a261b237875680094
Author: ThomasV <thomasv@gitorious>
Date: Sat, 14 Mar 2015 08:52:21 +0100
fix wallet bug in labels plugin
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/plugins/labels.py b/plugins/labels.py
@@ -225,6 +225,7 @@ class Plugin(BasePlugin):
if "error" in response:
raise BaseException(_("Could not sync labels: %s" % response["error"]))
+ result = {}
for label in response:
try:
key = self.decode(label["external_id"])
@@ -240,8 +241,14 @@ class Plugin(BasePlugin):
except:
print_error('error: no json', key)
continue
- if force or not self.wallet.labels.get(key):
- self.wallet.labels[key] = value
- self.wallet.storage.put('labels', self.wallet.labels)
+ result[key] = value
+
+ wallet = self.wallet
+ if not wallet:
+ return
+ for key, value in result.items():
+ if force or not wallet.labels.get(key):
+ wallet.labels[key] = value
+ wallet.storage.put('labels', wallet.labels)
print_error("received %d labels"%len(response))
self.window.labelsChanged.emit()