URI: 
       twizard: ask accound id after device setup - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 1e6caf8f03955b6a701cf9b52ba89402a1db8845
   DIR parent 8edca913903bc6d61b100c5525a94f57c0d5f28e
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Wed, 24 Aug 2016 08:52:21 +0200
       
       wizard: ask accound id after device setup
       
       Diffstat:
         M lib/base_wizard.py                  |      15 ++++++++-------
         M lib/keystore.py                     |       6 +++---
       
       2 files changed, 11 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/lib/base_wizard.py b/lib/base_wizard.py
       t@@ -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):
   DIR diff --git a/lib/keystore.py b/lib/keystore.py
       t@@ -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)
       t@@ -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