tupdate peers script - electrum - Electrum Bitcoin wallet (HTM) git clone https://git.parazyd.org/electrum (DIR) Log (DIR) Files (DIR) Refs (DIR) Submodules --- (DIR) commit a4d904bfd3522181261bfb68cc2edc4ab6adcd9c (DIR) parent 291038a5862d601d5056580b0b058b4738bac418 (HTM) Author: ThomasV <thomasv@gitorious> Date: Tue, 5 Aug 2014 12:44:43 +0200 update peers script Diffstat: M scripts/peers | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) --- (DIR) diff --git a/scripts/peers b/scripts/peers t@@ -5,7 +5,7 @@ from electrum import Interface, SimpleConfig from electrum.network import filter_protocol, parse_servers from collections import defaultdict -#electrum.util.set_verbosity(1) +# electrum.util.set_verbosity(1) # 1. start interface and wait for connection interface = electrum.Interface('ecdsa.net:50002:s') t@@ -28,7 +28,6 @@ print "Contacting %d servers"%len(peers) # start interfaces config = SimpleConfig() interfaces = map ( lambda server: Interface(server, config), peers ) -results_queue = Queue.Queue() reached_servers = [] for i in interfaces: i.start(q) t@@ -46,8 +45,7 @@ while peers: if i.server in peers: peers.remove(i.server) if i.is_connected: - i.send_request({'method':'blockchain.headers.subscribe','params':[]}, results_queue) - reached_servers.append(i.server) + reached_servers.append(i) else: print "Connection failed:", i.server t@@ -83,11 +81,15 @@ def analyze(results): return out +results_queue = Queue.Queue() +for i in reached_servers: + i.send_request({'method':'blockchain.headers.subscribe','params':[]}, results_queue) + results = {} while reached_servers: i, r = results_queue.get(timeout=10000) results[i.server] = r.get('result') - reached_servers.remove(i.server) + reached_servers.remove(i) i.stop() errors = analyze(results).keys()