network programming without goto

Josiah Carlson jcarlson at uci.edu
Thu Nov 25 12:57:12 EST 2004


Oops, I forgot to mark the 'query' as done when it was done...

queries = [buildquery(t) for t in targets]

for host in hostlist:
    tries_remaining = 3 #tunable parameter
    for q in queries:
        done = 0
        for i in xrange(tries_remaining+1):
            if i == tries_remaining:
                break
            try:
                conn = zoom.Connecton(host.ip, host.port)
                r = conn.search(q)
                conn.close()
                done = 1
                break
            except:
                continue
            
            #handle result r
            break
            
        tries_remaining -= i
        
        if tries_remaining == 0 or done:
            break




More information about the Python-list mailing list