From 1e6caf8f03955b6a701cf9b52ba89402a1db8845 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Wed, 24 Aug 2016 08:52:21 +0200 Subject: [PATCH] wizard: ask accound id after device setup --- lib/base_wizard.py | 15 ++++++++------- lib/keystore.py | 6 +++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/base_wizard.py b/lib/base_wizard.py index 56642ed5..6a14375b 100644 --- a/lib/base_wizard.py +++ b/lib/base_wizard.py @@ -198,28 +198,29 @@ class BaseWizard(object): self.devices = devices choices = [] for name, device_info in devices: - choices.append( ((name, device_info), device_info.description) ) + choices.append( ((name, device_info), device_info.description + ' [%s]'%name) ) msg = _('Select a device') + ':' self.choice_dialog(title=title, message=msg, choices=choices, run_next=self.on_device) def on_device(self, name, device_info): + plugin = self.plugins.get_plugin(name) + self.plugin = plugin + xpub = plugin.setup_device(device_info, 'm', self) f = lambda x: self.run('on_hardware_account_id', name, device_info, x) self.account_id_dialog(run_next=f) - def on_hardware_account_id(self, hw_type, device_info, account_id): + def on_hardware_account_id(self, name, device_info, account_id): from keystore import hardware_keystore, bip44_derivation + plugin = self.plugins.get_plugin(name) derivation = bip44_derivation(int(account_id)) - plugin = self.plugins.get_plugin(hw_type) - self.plugin = plugin xpub = plugin.setup_device(device_info, derivation, self) - # create keystore d = { 'type': 'hardware', - 'hw_type': hw_type, + 'hw_type': name, 'derivation': derivation, 'xpub': xpub, } - k = hardware_keystore(hw_type, d) + k = hardware_keystore(d) self.on_keystore(k, None) def on_hardware_seed(self): diff --git a/lib/keystore.py b/lib/keystore.py index 9eb013e4..b61263f6 100644 --- a/lib/keystore.py +++ b/lib/keystore.py @@ -553,7 +553,8 @@ hw_keystores = {} def register_keystore(hw_type, constructor): hw_keystores[hw_type] = constructor -def hardware_keystore(hw_type, d): +def hardware_keystore(d): + hw_type = d['hw_type'] if hw_type in hw_keystores: constructor = hw_keystores[hw_type] return constructor(d) @@ -572,8 +573,7 @@ def load_keystore(storage, name): elif t == 'bip32': k = BIP32_KeyStore(d) elif t == 'hardware': - hw_type = d.get('hw_type') - k = hardware_keystore(hw_type, d) + k = hardware_keystore(d) else: raise BaseException('unknown wallet type', t) return k