update session

This commit is contained in:
ThomasV 2011-12-08 21:43:52 +01:00
parent 2fb6e9d570
commit 689fc1e207
2 changed files with 11 additions and 2 deletions

View File

@ -473,6 +473,9 @@ class Wallet:
def new_session(self): def new_session(self):
self.session_id, self.message = ast.literal_eval( self.request( repr ( ('session', repr(self.addresses) )))) self.session_id, self.message = ast.literal_eval( self.request( repr ( ('session', repr(self.addresses) ))))
def update_session(self):
return self.request( repr ( ('update_session', repr((self.session_id,self.addresses)))))
def get_servers(self): def get_servers(self):
self.servers = map( lambda x:x[1], ast.literal_eval( self.request( repr ( ('peers', '' )))) ) self.servers = map( lambda x:x[1], ast.literal_eval( self.request( repr ( ('peers', '' )))) )

View File

@ -490,6 +490,7 @@ class BitcoinGUI:
try: try:
self.wallet.new_session() self.wallet.new_session()
self.is_connected = True self.is_connected = True
self.update_session = False
self.info.set_text( self.wallet.message) self.info.set_text( self.wallet.message)
except: except:
self.is_connected = False self.is_connected = False
@ -499,6 +500,10 @@ class BitcoinGUI:
get_servers_time = 0 get_servers_time = 0
while True: while True:
if self.is_connected and self.update_session:
self.wallet.update_session()
self.update_session = False
if time.time() - get_servers_time > 5*60: if time.time() - get_servers_time > 5*60:
wallet.get_servers() wallet.get_servers()
get_servers_time = time.time() get_servers_time = time.time()
@ -658,7 +663,7 @@ class BitcoinGUI:
password = password_dialog() if self.wallet.use_encryption else None password = password_dialog() if self.wallet.use_encryption else None
status, tx = self.wallet.mktx( to_address, amount, label, password, fee ) status, tx = self.wallet.mktx( to_address, amount, label, password, fee )
self.wallet.new_session() # we created a new change address self.update_session = True # we created a new change address
if not status: if not status:
self.show_message(tx) self.show_message(tx)
return return
@ -1010,7 +1015,7 @@ class BitcoinGUI:
else: else:
password = password_dialog() if self.wallet.use_encryption else None password = password_dialog() if self.wallet.use_encryption else None
success, ret = self.wallet.get_new_address(password) success, ret = self.wallet.get_new_address(password)
self.wallet.new_session() # we created a new address self.update_session = True # we created a new address
if success: if success:
address = ret address = ret
#if label: self.wallet.labels[address] = label #if label: self.wallet.labels[address] = label
@ -1026,6 +1031,7 @@ class BitcoinGUI:
errorDialog.show() errorDialog.show()
errorDialog.run() errorDialog.run()
errorDialog.destroy() errorDialog.destroy()
def network_dialog( self, w ): def network_dialog( self, w ):
wallet = self.wallet wallet = self.wallet