tmake connection more robust - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 752761de3287bdda6473cfdd508677aebeaaec01
DIR parent 9a85fd503deb7965471de3a3eed76867a2ffe2a6
HTML Author: ThomasV <thomasv@gitorious>
Date: Tue, 13 Dec 2011 16:58:42 +0100
make connection more robust
Diffstat:
M client/gui.py | 27 +++++++++++++--------------
1 file changed, 13 insertions(+), 14 deletions(-)
---
DIR diff --git a/client/gui.py b/client/gui.py
t@@ -487,30 +487,33 @@ class BitcoinGUI:
def update_wallet_thread():
while True:
try:
+ self.is_connected = False
self.wallet.new_session()
self.is_connected = True
self.update_session = False
self.info.set_text( self.wallet.message)
except:
- self.is_connected = False
traceback.print_exc(file=sys.stdout)
time.sleep(self.period)
continue
get_servers_time = 0
while True:
- if self.is_connected and self.update_session:
- self.wallet.update_session()
- self.update_session = False
+ try:
+ if self.is_connected and self.update_session:
+ self.wallet.update_session()
+ self.update_session = False
- if time.time() - get_servers_time > 5*60:
- wallet.get_servers()
+ if time.time() - get_servers_time > 5*60:
+ wallet.get_servers()
get_servers_time = time.time()
- self.period = 15 if self.wallet.use_http() else 5
- try:
+ self.period = 15 if self.wallet.use_http() else 5
u = self.wallet.update()
- self.is_connected = True
+ if u:
+ self.wallet.save()
+ gobject.idle_add( self.update_history_tab )
+ time.sleep(self.period)
except BaseException:
print "starting new session"
break
t@@ -522,11 +525,7 @@ class BitcoinGUI:
print "error"
traceback.print_exc(file=sys.stdout)
break
- self.error = '' if self.is_connected else "Not connected"
- if u:
- self.wallet.save()
- gobject.idle_add( self.update_history_tab )
- time.sleep(self.period)
+ self.error = '' if self.is_connected else "Not connected"
thread.start_new_thread(update_wallet_thread, ())
thread.start_new_thread(update_status_bar_thread, ())