URI: 
       tlabels plugin: fix it. and extend to cli/daemon. - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 684390a47960420af9d1018c85c82c04ea3e0126
   DIR parent 87486e94874f83780921855d836f3fa3e1e36965
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Fri, 29 Jun 2018 11:58:12 +0200
       
       labels plugin: fix it. and extend to cli/daemon.
       
       Diffstat:
         M lib/daemon.py                       |       2 ++
         M plugins/labels/__init__.py          |       2 +-
         A plugins/labels/cmdline.py           |      11 +++++++++++
         M plugins/labels/labels.py            |       5 +++--
       
       4 files changed, 17 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/lib/daemon.py b/lib/daemon.py
       t@@ -41,6 +41,7 @@ from .storage import WalletStorage
        from .commands import known_commands, Commands
        from .simple_config import SimpleConfig
        from .exchange_rate import FxThread
       +from .plugins import run_hook
        
        
        def get_lockfile(config):
       t@@ -175,6 +176,7 @@ class Daemon(DaemonThread):
                    wallet = self.load_wallet(path, config.get('password'))
                    if wallet is not None:
                        self.cmd_runner.wallet = wallet
       +                run_hook('load_wallet', wallet, None)
                    response = wallet is not None
                elif sub == 'close_wallet':
                    path = config.get_wallet_path()
   DIR diff --git a/plugins/labels/__init__.py b/plugins/labels/__init__.py
       t@@ -5,5 +5,5 @@ description = ' '.join([
            _("Save your wallet labels on a remote server, and synchronize them across multiple devices where you use Electrum."),
            _("Labels, transactions IDs and addresses are encrypted before they are sent to the remote server.")
        ])
       -available_for = ['qt', 'kivy']
       +available_for = ['qt', 'kivy', 'cmdline']
        
   DIR diff --git a/plugins/labels/cmdline.py b/plugins/labels/cmdline.py
       t@@ -0,0 +1,11 @@
       +from .labels import LabelsPlugin
       +from electrum.plugins import hook
       +
       +class Plugin(LabelsPlugin):
       +
       +    @hook
       +    def load_wallet(self, wallet, window):
       +        self.start_wallet(wallet)
       +
       +    def on_pulled(self, wallet):
       +        self.print_error('labels pulled from server')
   DIR diff --git a/plugins/labels/labels.py b/plugins/labels/labels.py
       t@@ -9,6 +9,7 @@ import base64
        
        import electrum
        from electrum.plugins import BasePlugin, hook
       +from electrum.crypto import aes_encrypt_with_iv, aes_decrypt_with_iv
        from electrum.i18n import _
        
        
       t@@ -21,14 +22,14 @@ class LabelsPlugin(BasePlugin):
        
            def encode(self, wallet, msg):
                password, iv, wallet_id = self.wallets[wallet]
       -        encrypted = electrum.bitcoin.aes_encrypt_with_iv(password, iv,
       +        encrypted = aes_encrypt_with_iv(password, iv,
                                                                 msg.encode('utf8'))
                return base64.b64encode(encrypted).decode()
        
            def decode(self, wallet, message):
                password, iv, wallet_id = self.wallets[wallet]
                decoded = base64.b64decode(message)
       -        decrypted = electrum.bitcoin.aes_decrypt_with_iv(password, iv, decoded)
       +        decrypted = aes_decrypt_with_iv(password, iv, decoded)
                return decrypted.decode('utf8')
        
            def get_nonce(self, wallet):