commit c7b1721f585ff8863e1df0f14452bd27b1291bbf
parent d5f43610ed73cbe58c796d698929c67dbefbd598
Author: ThomasV <thomasv@electrum.org>
Date: Tue, 1 Dec 2015 12:00:18 +0100
fix cmdline trezor
Diffstat:
3 files changed, 38 insertions(+), 36 deletions(-)
diff --git a/electrum b/electrum
@@ -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):
@@ -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)
diff --git a/plugins/trezor/cmdline.py b/plugins/trezor/cmdline.py
@@ -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
+
diff --git a/plugins/trezor/trezor.py b/plugins/trezor/trezor.py
@@ -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
@@ -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: