import atexit import http.server import socketserver import subprocess haxe_server = None def run_tcp(port: int, do_log: bool): class HTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def log_message(self, format, *args): if do_log: print(format % args) try: http_server = socketserver.TCPServer(("", port), HTTPRequestHandler) http_server.serve_forever() except: print("Server already running") def run_haxe(haxe_path, port=6000): global haxe_server if haxe_server is None: haxe_server = subprocess.Popen([haxe_path, "--wait", str(port)]) atexit.register(kill_haxe) def kill_haxe(): global haxe_server if haxe_server is not None: haxe_server.kill() haxe_server = None