URI: 
       tcommand-line handler for trezor - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 2863d195794f87bf4496451829eb8b24ef19851a
   DIR parent 557286ff792aa687e0dd08f337a9f31a0ab4f0c5
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Wed, 10 Jun 2015 22:08:19 +0200
       
       command-line handler for trezor
       
       Diffstat:
         M electrum                            |       5 ++++-
         M plugins/trezor.py                   |      21 +++++++++++++++++----
       
       2 files changed, 21 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/electrum b/electrum
       t@@ -73,7 +73,7 @@ from electrum import util
        from electrum import SimpleConfig, Network, Wallet, WalletStorage, NetworkProxy
        from electrum.util import print_msg, print_error, print_stderr, print_json, set_verbosity, InvalidPassword
        from electrum.daemon import get_daemon
       -from electrum.plugins import init_plugins
       +from electrum.plugins import init_plugins, run_hook, always_hook
        from electrum.commands import get_parser, known_commands, Commands, config_variables
        
        
       t@@ -263,6 +263,9 @@ def run_cmdline(config):
            # create wallet instance
            wallet = Wallet(storage) if cmd.requires_wallet else None
        
       +    # notify plugins
       +    always_hook('cmdline_load_wallet', wallet)
       +
            # important warning
            if cmd.name in ['dumpprivkey', 'dumpprivkeys']:
                print_stderr("WARNING: ALL your private keys are secret.")
   DIR diff --git a/plugins/trezor.py b/plugins/trezor.py
       t@@ -93,8 +93,11 @@ class Plugin(BasePlugin):
                self.wallet = None
        
            @hook
       -    def init_cmdline(self):
       -        self.handler = TrezorCmdLineHandler()
       +    def cmdline_load_wallet(self, wallet):
       +        self.wallet = wallet
       +        self.wallet.plugin = self
       +        if self.handler is None:
       +            self.handler = TrezorCmdLineHandler()
        
            @hook
            def load_wallet(self, wallet, window):
       t@@ -493,12 +496,22 @@ class TrezorGuiMixin(object):
        class TrezorCmdLineHandler:
        
            def get_passphrase(self, msg):
       +        import getpass
                print_msg(msg)
       -        return raw_input()
       +        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)
       -        return raw_input()
        
        
        class TrezorQtHandler: