INNER CODE UNIT · Python
find_free_port
satoshikawato/gbdraw · gbdraw/cli.py:48
def find_free_port():
"""Find a free port on localhost"""
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(('127.0.0.1', 0))
return s.getsockname()[1]
def start_local_server(directory: str):
"""
Starts a local HTTP server to serve the gbdraw web UI.
"""
port = find_free_port()
handler = partial(IsolatedSimpleHTTPRequestHandler, directory=directory)
try:
httpd = socketserver.TCPServer(("127.0.0.1", port), handler)
except OSError as e: