

def run_dev_server(application):
    servers = []

    def tracking_make_server(*args, **kwargs):
        srv = real_make_server(*args, **kwargs)
        servers.append(srv)
        return srv
    serving.make_server = tracking_make_server
    try:
        t = Thread(target=serving.run_simple, args=('localhost', 0, application))
        t.setDaemon(True)
        t.start()
        time.sleep(0.25)
    finally:
        serving.make_server = real_make_server
    if (not servers):
        return (None, None)
    (server,) = servers
    (ip, port) = server.socket.getsockname()[:2]
    if (':' in ip):
        ip = ('[%s]' % ip)
    return (server, ('%s:%d' % (ip, port)))

dataset/ETHPy150Open GeekTrainer/Flask/Work/Trivia - Module 5/env/Lib/site-packages/werkzeug/testsuite/serving.py run_dev_server/original