network.is_connected()
authorThomasV <thomasv@gitorious>
Fri, 4 Oct 2013 11:51:46 +0000 (13:51 +0200)
committerThomasV <thomasv@gitorious>
Fri, 4 Oct 2013 11:51:46 +0000 (13:51 +0200)
gui/qt/main_window.py
lib/network.py

index 19f99c2..59e6496 100644 (file)
@@ -531,7 +531,7 @@ class ElectrumWindow(QMainWindow):
 
 
     def update_status(self):
-        if self.network.interface and self.network.interface.is_connected:
+        if self.network.is_connected():
             if not self.wallet.up_to_date:
                 text = _("Synchronizing...")
                 icon = QIcon(":icons/status_waiting.png")
@@ -561,7 +561,7 @@ class ElectrumWindow(QMainWindow):
 
     def update_wallet(self):
         self.update_status()
-        if self.wallet.up_to_date or not self.network.interface.is_connected:
+        if self.wallet.up_to_date or not self.network.is_connected():
             self.update_history_tab()
             self.update_receive_tab()
             self.update_contacts_tab()
index 1412c46..372809f 100644 (file)
@@ -68,6 +68,10 @@ class Network(threading.Thread):
         self.subscriptions[self.on_peers] = [('server.peers.subscribe',[])]
 
 
+    def is_connected(self):
+        return self.interface and self.interface.is_connected
+
+
     def send_subscriptions(self):
         for cb, sub in self.subscriptions.items():
             self.interface.send(sub, cb)
@@ -108,7 +112,11 @@ class Network(threading.Thread):
             else:
                 choice_list.append(s)
         
-        if not choice_list: return
+        if not choice_list: 
+            if not self.interfaces:
+                # we are probably offline, retry later
+                self.disconnected_servers = []
+            return
         
         server = random.choice( choice_list )
         return server