'Get the first public IP address returned by one of the online services'

def get(self):

    q = queue.Queue()
    for (u, j, k) in urls:
        t = threading.Thread(target=self._get_ip_public, args=(q, u, j, k))
        t.daemon = True
        t.start()
    timer = Timer(self.timeout)
    ip = None
    while ((not timer.finished()) and (ip is None)):
        if (q.qsize() > 0):
            ip = q.get()
    return ip
