URI: 
       tfix wallet constructor - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit b22048fdfba932373a1ae77cd958e7c98ada9b56
   DIR parent 0606a308042aeb53a34e5420672388f2f25669fb
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sat, 13 Sep 2014 10:16:09 +0200
       
       fix wallet constructor
       
       Diffstat:
         M lib/wallet.py                       |      41 +++++++++++++++----------------
       
       1 file changed, 20 insertions(+), 21 deletions(-)
       ---
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -1605,34 +1605,33 @@ class Wallet(object):
        
            def __new__(self, storage):
        
       -        if not storage.file_exists:
       -            return NewWallet(storage)
       -
       -        seed_version = storage.get('seed_version')
       -        if not seed_version:
       -            seed_version = OLD_SEED_VERSION if len(storage.get('master_public_key','')) == 128 else NEW_SEED_VERSION
       -
       -        if seed_version not in [OLD_SEED_VERSION, NEW_SEED_VERSION]:
       -            msg = "This wallet seed is not supported anymore."
       -            if seed_version in [5, 7, 8]:
       -                msg += "\nTo open this wallet, try 'git checkout seed_v%d'"%seed_version
       -            print msg
       -            sys.exit(1)
       -
       -        if seed_version == OLD_SEED_VERSION:
       -            return OldWallet(storage)
       -
       -        config = storage.config
                run_hook('add_wallet_types', wallet_types)
                wallet_type = storage.get('wallet_type')
                if wallet_type:
       -            for cat, t, name, WalletClass in wallet_types:
       +            for cat, t, name, c in wallet_types:
                        if t == wallet_type:
       -                    return WalletClass(storage)
       +                    WalletClass = c
       +                    break
                    else:
                        raise BaseException('unknown wallet type', wallet_type)
                else:
       -            return NewWallet(storage)
       +            seed_version = storage.get('seed_version')
       +            if not seed_version:
       +                seed_version = OLD_SEED_VERSION if len(storage.get('master_public_key','')) == 128 else NEW_SEED_VERSION
       +
       +            if seed_version not in [OLD_SEED_VERSION, NEW_SEED_VERSION]:
       +                msg = "This wallet seed is not supported anymore."
       +                if seed_version in [5, 7, 8]:
       +                    msg += "\nTo open this wallet, try 'git checkout seed_v%d'"%seed_version
       +                print msg
       +                sys.exit(1)
       +
       +            if seed_version == OLD_SEED_VERSION:
       +                WalletClass = OldWallet
       +            else:
       +                WalletClass = NewWallet
       +
       +        return WalletClass(storage)
        
            @classmethod
            def is_seed(self, seed):