commit 5a3756b879130a478d4f40db4f99301c35306caf
parent 93d073457cf0cb86eff5e661a470815a8c0542f0
Author: ThomasV <thomasv@gitorious>
Date: Thu, 11 Sep 2014 14:21:08 +0200
Merge branch 'master' of git://github.com/spesmilo/electrum
Diffstat:
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/plugins/labels.py b/plugins/labels.py
@@ -158,27 +158,21 @@ class Plugin(BasePlugin):
check_for_api_key(self.auth_token())
+ self.window.labelsChanged.connect(self.done_processing)
+
if d.exec_():
return True
else:
return False
+ def done_processing(self):
+ QMessageBox.information(None, _("Labels synchronised"), _("Your labels have been synchronised."))
def full_push(self):
- if self.do_full_push():
- QMessageBox.information(None, _("Labels uploaded"), _("Your labels have been uploaded."))
+ threading.Thread(target=self.do_full_push).start()
def full_pull(self):
- try:
- self.do_full_pull(True)
- except BaseException as e:
- QMessageBox.information(None, _("Error"), str(e))
- return
- QMessageBox.information(None, _("Labels synchronized"), _("Your labels have been synchronized."))
- self.window.update_history_tab()
- self.window.update_completions()
- self.window.update_receive_tab()
- self.window.update_contacts_tab()
+ threading.Thread(target=self.do_full_pull, args=([True])).start()
def do_full_push(self):
try:
@@ -202,21 +196,24 @@ class Plugin(BasePlugin):
response = connection.getresponse()
if response.reason == httplib.responses[httplib.NOT_FOUND]:
+ print_error('404 error' % e)
return
try:
response = json.loads(response.read())
except ValueError as e:
+ print_error('Error loading labelsync response: %s' % e)
return False
if "error" in response:
- QMessageBox.warning(None, _("Error"),_("Could not sync labels: %s" % response["error"]))
+ print_error('Error loading labelsync response.')
return False
- return True
except socket.gaierror as e:
print_error('Error connecting to service: %s ' % e)
return False
+ self.window.labelsChanged.emit()
+
def do_full_pull(self, force = False):
connection = httplib.HTTPConnection(self.target_host)
connection.request("GET", ("/api/wallets/%s/labels.json?auth_token=%s" % (self.wallet_id, self.auth_token())),"", {'Content-Type': 'application/json'})