Browse Source

sync_get

283
ThomasV 11 years ago
parent
commit
268a099f87
  1. 16
      lib/interface.py
  2. 16
      lib/network.py

16
lib/interface.py

@ -598,6 +598,22 @@ class Interface(threading.Thread):
self.queue.put(self)
def synchronous_get(self, requests, timeout=100000000):
queue = Queue.Queue()
ids = self.send(requests, lambda i,r: queue.put(r))
id2 = ids[:]
res = {}
while ids:
r = queue.get(True, timeout)
_id = r.get('id')
if _id in ids:
ids.remove(_id)
res[_id] = r.get('result')
out = []
for _id in id2:
out.append(res[_id])
return out
if __name__ == "__main__":

16
lib/network.py

@ -368,20 +368,8 @@ class Network(threading.Thread):
def synchronous_get(self, requests, timeout=100000000):
queue = Queue.Queue()
ids = self.interface.send(requests, lambda i,r: queue.put(r))
id2 = ids[:]
res = {}
while ids:
r = queue.get(True, timeout)
_id = r.get('id')
if _id in ids:
ids.remove(_id)
res[_id] = r.get('result')
out = []
for _id in id2:
out.append(res[_id])
return out
return self.interface.synchronous_get(requests)
#def retrieve_transaction(self, tx_hash, tx_height=0):

Loading…
Cancel
Save