URI: 
       tprovide the full server list on wallet creation - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 9c4fa26e3126c6b01ad4fafd440fa204ef1fe3c2
   DIR parent ce16fe224da3f359771dd0c2377414c28cc105cf
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Thu, 12 Jan 2012 15:42:13 +0100
       
       provide the full server list on wallet creation
       
       Diffstat:
         M client/electrum.py                  |       2 ++
         M client/gui.py                       |      30 ++++++++++++++++++++++--------
       
       2 files changed, 24 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/client/electrum.py b/client/electrum.py
       t@@ -259,6 +259,7 @@ class Interface:
                    else: break
                s.close()
                self.rtime = time.time() - t1
       +        self.is_connected = True
                if cmd in[ 'peers','h']:
                    out = ast.literal_eval( out )
                return out
       t@@ -277,6 +278,7 @@ class Interface:
                if not out:
                    print response
                self.rtime = time.time() - t1
       +        self.is_connected = True
                return out
        
            def send_tx(self, data):
   DIR diff --git a/client/gui.py b/client/gui.py
       t@@ -110,6 +110,7 @@ def init_wallet(wallet):
                    wallet.new_seed(None)
        
                    # ask for the server.
       +            wallet.interface.get_servers()
                    run_network_dialog( wallet, parent=None )
        
                    # generate first key
       t@@ -215,6 +216,9 @@ def run_recovery_dialog(wallet):
                import mnemonic
                print "not hex, trying decode"
                seed = mnemonic.mn_decode( seed.split(' ') )
       +    if not seed:
       +        show_message("no seed")
       +        sys.exit(1)
                
            wallet.seed = seed
            wallet.gap_limit = gap
       t@@ -277,10 +281,14 @@ def run_settings_dialog(wallet, parent):
        def run_network_dialog( wallet, parent ):
            image = gtk.Image()
            image.set_from_stock(gtk.STOCK_NETWORK, gtk.ICON_SIZE_DIALOG)
       -    if wallet.interface.is_connected:
       -        status = "Connected to %s.\n%d blocks\nresponse time: %f"%(wallet.interface.host, wallet.interface.blocks, wallet.interface.rtime)
       +
       +    if parent:
       +        if wallet.interface.is_connected:
       +            status = "Connected to %s.\n%d blocks\nresponse time: %f"%(wallet.interface.host, wallet.interface.blocks, wallet.interface.rtime)
       +        else:
       +            status = "Not connected"
            else:
       -        status = "Not connected"
       +        status = "Please choose a server."
        
            dialog = gtk.MessageDialog( parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
                                            gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL, status)
       t@@ -333,9 +341,13 @@ def run_network_dialog( wallet, parent ):
            r = dialog.run()
            hh = host_entry.get_text()
            dialog.destroy()
       +
            if r==gtk.RESPONSE_CANCEL:
       -        return
       -    print hh
       +        if parent == None:
       +            sys.exit(1)
       +        else:
       +            return
       +
            try:
                if ':' in hh:
                    host, port = hh.split(':')
       t@@ -344,8 +356,11 @@ def run_network_dialog( wallet, parent ):
                    host = hh
                    port = 50000
            except:
       -        self.show_message("error")
       -        return
       +        show_message("error")
       +        if parent == None:
       +            sys.exit(1)
       +        else:
       +            return
        
            if host!= wallet.interface.host or port!=wallet.interface.port:
                wallet.interface.host = host
       t@@ -563,7 +578,6 @@ class BitcoinGUI:
                        try:
                            self.wallet.interface.is_connected = False
                            self.wallet.interface.new_session(self.wallet.all_addresses(), self.wallet.electrum_version)
       -                    self.wallet.interface.is_connected = True
                            self.update_session = False
                            self.info.set_text( self.wallet.interface.message)
                        except: