URI: 
       tupdate script - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit c3419eb7bb72e663068111599949e294054453da
   DIR parent 43c8fd43c4f7c5c2797126fddfc05dcafd6c68e0
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Mon, 15 Sep 2014 15:01:09 +0200
       
       update script
       
       Diffstat:
         M scripts/servers                     |      39 +++++++------------------------
       
       1 file changed, 9 insertions(+), 30 deletions(-)
       ---
   DIR diff --git a/scripts/servers b/scripts/servers
       t@@ -5,45 +5,24 @@ from electrum.network import DEFAULT_SERVERS, filter_protocol
        import time, Queue
        from collections import defaultdict
        
       +import util, json
        set_verbosity(False)
        
        config = SimpleConfig()
        servers = filter_protocol(DEFAULT_SERVERS,'t')
       -interfaces = map ( lambda server: Interface(server, config), servers )
       +results = util.send_request(servers, {'method':'blockchain.headers.subscribe', 'params':[]})
        
       -q = Queue.Queue()
       -results_queue = Queue.Queue()
       -
       -for i in interfaces: i.start(q)
       +d = defaultdict(int)
        
       -reached_servers = []
       +for k, r in results.items():
       +    blocks = r.get('block_height')
       +    d[blocks] += 1
        
       -while servers:
       -    i = q.get(timeout=1000)
       -    servers.remove(i.server)
       -    if i.is_connected:
       -        i.send([('blockchain.headers.subscribe',[])], lambda i,x: results_queue.put((i,x)))
       -        reached_servers.append(i.server)
       -        i.status = "ok"
       -    else:
       -        i.status = "unreachable"
        
       -d = defaultdict(int)
        
       -while reached_servers:
       -    i, r = results_queue.get(timeout=1000)
       -    i.blocks = r.get('result').get('block_height')
       -    d[i.blocks] += 1
       -    reached_servers.remove(i.server)
       +for k, v in results.items():
       +    print k, v.get('block_height')
        
        v = d.values()
        numblocks = d.keys()[v.index(max(v))]
       -
       -for i in interfaces:
       -    if i.status == "ok":
       -        if abs(i.blocks-numblocks)>1: i.status = "lagging" 
       -    else:
       -        i.blocks = 0
       -
       -    print "%30s   %d   %s   "%(i.host, i.blocks, i.status)
       -
       +print "blocks:",numblocks