From 5918bac5cb7e935d3140116c82ebefaa8bc35423 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Sat, 14 Mar 2015 08:52:21 +0100 Subject: [PATCH] fix wallet bug in labels plugin --- plugins/labels.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/labels.py b/plugins/labels.py index 24ac2ee8..b7669347 100644 --- 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()