electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 1e346404dde636ea682d3d9590bcf6a80ed12bd1
parent 6101abda5dea619ad04b957f376ed7ddda274cb7
Author: ThomasV <thomasv@gitorious>
Date:   Thu,  4 Sep 2014 16:37:51 +0200

fixes for label plugin

Diffstat:
Mgui/qt/main_window.py | 1+
Mlib/plugins.py | 6+++++-
Mplugins/labels.py | 33+++++++++++++--------------------
3 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py @@ -2727,6 +2727,7 @@ class ElectrumWindow(QMainWindow): p.close() else: if p.enable(): + p.load_wallet(self.wallet) p.init_qt(self.gui_object) r = p.is_enabled() cb.setChecked(r) diff --git a/lib/plugins.py b/lib/plugins.py @@ -88,7 +88,11 @@ class BasePlugin: self.set_enabled(False) return True - def init(self): pass + def init_qt(self, gui): pass + + def load_wallet(self, wallet): pass + + #def init(self): pass def close(self): pass diff --git a/plugins/labels.py b/plugins/labels.py @@ -23,6 +23,8 @@ from electrum_gui.qt import HelpButton, EnterButton class Plugin(BasePlugin): + target_host = 'labelectrum.herokuapp.com' + def fullname(self): return _('Label Sync') @@ -40,21 +42,26 @@ class Plugin(BasePlugin): def decode(self, message): decoded_message = aes.decryptData(self.encode_password, base64.b64decode(unicode(message)) ) - return decoded_message + + @hook def init_qt(self, gui): - self.target_host = 'labelectrum.herokuapp.com' self.window = gui.main_window + if not self.auth_token(): # First run, throw plugin settings in your face + self.load_wallet(self.window.wallet) + if self.settings_dialog(): + self.set_enabled(True) + return True + else: + self.set_enabled(False) + return False @hook def load_wallet(self, wallet): self.wallet = wallet - if self.wallet.get_master_public_key(): - mpk = self.wallet.get_master_public_key() - else: - mpk = self.wallet.master_public_keys["m/0'/"][1] + mpk = self.wallet.get_master_public_key() self.encode_password = hashlib.sha1(mpk).digest().encode('hex')[:32] self.wallet_id = hashlib.sha256(mpk).digest().encode('hex') @@ -151,20 +158,6 @@ class Plugin(BasePlugin): else: return False - def enable(self): - if not self.auth_token(): # First run, throw plugin settings in your face - self.init() - self.load_wallet(self.window.wallet) - if self.settings_dialog(): - self.set_enabled(True) - return True - else: - self.set_enabled(False) - return False - - self.set_enabled(True) - return True - def full_push(self): if self.do_full_push():