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: