simplification
This commit is contained in:
parent
c9c5c0d3bd
commit
9c7a3c8329
11
interface.py
11
interface.py
|
@ -51,7 +51,7 @@ class Interface(threading.Thread):
|
|||
#json
|
||||
self.message_id = 0
|
||||
self.responses = Queue.Queue()
|
||||
self.methods = {}
|
||||
self.unanswered_requests = {}
|
||||
|
||||
def poke(self):
|
||||
# push a fake response so that the getting thread exits its loop
|
||||
|
@ -68,7 +68,7 @@ class Interface(threading.Thread):
|
|||
return
|
||||
|
||||
if msg_id is not None:
|
||||
method, params = self.methods.pop(msg_id)
|
||||
method, params = self.unanswered_requests.pop(msg_id)
|
||||
result = c.get('result')
|
||||
else:
|
||||
# notification
|
||||
|
@ -163,7 +163,7 @@ class HttpStratumInterface(PollingInterface):
|
|||
method, params = m
|
||||
if type(params) != type([]): params = [params]
|
||||
data.append( { 'method':method, 'id':self.message_id, 'params':params } )
|
||||
self.methods[self.message_id] = method, params
|
||||
self.unanswered_requests[self.message_id] = method, params
|
||||
self.message_id += 1
|
||||
|
||||
if data:
|
||||
|
@ -256,7 +256,7 @@ class TcpStratumInterface(Interface):
|
|||
for m in messages:
|
||||
method, params = m
|
||||
request = json.dumps( { 'id':self.message_id, 'method':method, 'params':params } )
|
||||
self.methods[self.message_id] = method, params
|
||||
self.unanswered_requests[self.message_id] = method, params
|
||||
#print "-->",request
|
||||
self.message_id += 1
|
||||
out += request + '\n'
|
||||
|
@ -362,9 +362,6 @@ class WalletSynchronizer(threading.Thread):
|
|||
new_addresses = self.wallet.synchronize()
|
||||
if new_addresses:
|
||||
self.interface.subscribe(new_addresses)
|
||||
for addr in new_addresses:
|
||||
with self.wallet.lock:
|
||||
self.wallet.addresses_waiting_for_status.append(addr)
|
||||
|
||||
if self.wallet.is_up_to_date():
|
||||
if not self.wallet.up_to_date:
|
||||
|
|
19
wallet.py
19
wallet.py
|
@ -283,9 +283,6 @@ class Wallet:
|
|||
self.lock = threading.Lock()
|
||||
self.tx_event = threading.Event()
|
||||
|
||||
#
|
||||
self.addresses_waiting_for_status = []
|
||||
self.addresses_waiting_for_history = []
|
||||
self.pick_random_server()
|
||||
|
||||
|
||||
|
@ -294,8 +291,7 @@ class Wallet:
|
|||
self.server = random.choice( DEFAULT_SERVERS ) # random choice when the wallet is created
|
||||
|
||||
def is_up_to_date(self):
|
||||
return self.interface.responses.empty() and not ( self.addresses_waiting_for_status or self.addresses_waiting_for_history )
|
||||
|
||||
return self.interface.responses.empty() and not self.interface.unanswered_requests
|
||||
|
||||
def set_server(self, server):
|
||||
# raise an error if the format isnt correct
|
||||
|
@ -719,10 +715,7 @@ class Wallet:
|
|||
with self.lock:
|
||||
if self.get_status(addr) != status:
|
||||
#print "updating status for", addr, status
|
||||
self.addresses_waiting_for_history.append(addr)
|
||||
self.interface.get_history(addr)
|
||||
if addr in self.addresses_waiting_for_status:
|
||||
self.addresses_waiting_for_status.remove(addr)
|
||||
|
||||
def receive_history_callback(self, addr, data):
|
||||
#print "updating history for", addr
|
||||
|
@ -730,7 +723,6 @@ class Wallet:
|
|||
self.history[addr] = data
|
||||
self.update_tx_history()
|
||||
self.save()
|
||||
if addr in self.addresses_waiting_for_history: self.addresses_waiting_for_history.remove(addr)
|
||||
|
||||
def get_tx_history(self):
|
||||
lines = self.tx_history.values()
|
||||
|
@ -953,15 +945,8 @@ class Wallet:
|
|||
|
||||
def start_session(self, interface):
|
||||
self.interface = interface
|
||||
with self.lock:
|
||||
self.addresses_waiting_for_status = []
|
||||
self.addresses_waiting_for_history = []
|
||||
addresses = self.all_addresses()
|
||||
for addr in addresses:
|
||||
self.addresses_waiting_for_status.append(addr)
|
||||
|
||||
self.interface.send([('server.banner',[]), ('blockchain.numblocks.subscribe',[]), ('server.peers.subscribe',[])])
|
||||
self.interface.subscribe(addresses)
|
||||
self.interface.subscribe(self.all_addresses())
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue