URI: 
       tfix cmdline trezor - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit c7b1721f585ff8863e1df0f14452bd27b1291bbf
   DIR parent d5f43610ed73cbe58c796d698929c67dbefbd598
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Tue,  1 Dec 2015 12:00:18 +0100
       
       fix cmdline trezor
       
       Diffstat:
         M electrum                            |      10 ++--------
         A plugins/trezor/cmdline.py           |      36 +++++++++++++++++++++++++++++++
         M plugins/trezor/trezor.py            |      28 ----------------------------
       
       3 files changed, 38 insertions(+), 36 deletions(-)
       ---
   DIR diff --git a/electrum b/electrum
       t@@ -231,7 +231,7 @@ def init_cmdline(config):
                wallet.update_password(password, new_password)
                sys.exit(0)
        
       -    return cmd, password
       +    return cmd, password, wallet
        
        
        def run_offline_command(config, cmd, wallet, password):
       t@@ -316,14 +316,8 @@ if __name__ == '__main__':
        
            # run command offline
            if cmd_name not in ['gui', 'daemon']:
       -        cmd, password = init_cmdline(config)
       +        cmd, password, wallet = init_cmdline(config)
                if not cmd.requires_network or config.get('offline'):
       -            if cmd.requires_wallet:
       -                path = config.get_wallet_path()
       -                storage = WalletStorage(path)
       -                wallet = Wallet(storage)
       -            else:
       -                wallet = None
                    result = run_offline_command(config, cmd, wallet, password)
                    print_msg(json_encode(result))
                    sys.exit(0)
   DIR diff --git a/plugins/trezor/cmdline.py b/plugins/trezor/cmdline.py
       t@@ -0,0 +1,36 @@
       +from trezor import TrezorPlugin
       +from electrum.util import print_msg
       +from electrum.plugins import hook
       +
       +class TrezorCmdLineHandler:
       +
       +    def get_passphrase(self, msg):
       +        import getpass
       +        print_msg(msg)
       +        return getpass.getpass('')
       +
       +    def get_pin(self, msg):
       +        t = { 'a':'7', 'b':'8', 'c':'9', 'd':'4', 'e':'5', 'f':'6', 'g':'1', 'h':'2', 'i':'3'}
       +        print_msg(msg)
       +        print_msg("a b c\nd e f\ng h i\n-----")
       +        o = raw_input()
       +        return ''.join(map(lambda x: t[x], o))
       +
       +    def stop(self):
       +        pass
       +
       +    def show_message(self, msg):
       +        print_msg(msg)
       +
       +
       +class Plugin(TrezorPlugin):
       +
       +    @hook
       +    def cmdline_load_wallet(self, wallet):
       +        print "cmdline load wallet"
       +        self.wallet = wallet
       +        self.wallet.plugin = self
       +        if self.handler is None:
       +            self.handler = TrezorCmdLineHandler()
       +        print self.wallet
       +
   DIR diff --git a/plugins/trezor/trezor.py b/plugins/trezor/trezor.py
       t@@ -273,13 +273,6 @@ class TrezorPlugin(BasePlugin):
                    self.client = None
                self.wallet = None
        
       -    @hook
       -    def cmdline_load_wallet(self, wallet):
       -        self.wallet = wallet
       -        self.wallet.plugin = self
       -        if self.handler is None:
       -            self.handler = TrezorCmdLineHandler()
       -
            def sign_transaction(self, tx, prev_tx, xpub_path):
                self.prev_tx = prev_tx
                self.xpub_path = xpub_path
       t@@ -451,27 +444,6 @@ class TrezorGuiMixin(object):
                return proto.WordAck(word=word)
        
        
       -class TrezorCmdLineHandler:
       -
       -    def get_passphrase(self, msg):
       -        import getpass
       -        print_msg(msg)
       -        return getpass.getpass('')
       -
       -    def get_pin(self, msg):
       -        t = { 'a':'7', 'b':'8', 'c':'9', 'd':'4', 'e':'5', 'f':'6', 'g':'1', 'h':'2', 'i':'3'}
       -        print_msg(msg)
       -        print_msg("a b c\nd e f\ng h i\n-----")
       -        o = raw_input()
       -        return ''.join(map(lambda x: t[x], o))
       -
       -    def stop(self):
       -        pass
       -
       -    def show_message(self, msg):
       -        print_msg(msg)
       -
       -
        
        
        if TREZOR: