[Web] Fix browser opening too early with serve.py
This commit is contained in:
parent
0e9caa2d9c
commit
470a35832f
1 changed files with 16 additions and 4 deletions
|
@ -6,7 +6,7 @@ import os
|
||||||
import socket
|
import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from http.server import HTTPServer, SimpleHTTPRequestHandler, test # type: ignore
|
from http.server import HTTPServer, SimpleHTTPRequestHandler
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,12 +38,24 @@ def shell_open(url):
|
||||||
def serve(root, port, run_browser):
|
def serve(root, port, run_browser):
|
||||||
os.chdir(root)
|
os.chdir(root)
|
||||||
|
|
||||||
|
address = ("", port)
|
||||||
|
httpd = DualStackServer(address, CORSRequestHandler)
|
||||||
|
|
||||||
|
url = f"http://127.0.0.1:{port}"
|
||||||
if run_browser:
|
if run_browser:
|
||||||
# Open the served page in the user's default browser.
|
# Open the served page in the user's default browser.
|
||||||
print("Opening the served URL in the default browser (use `--no-browser` or `-n` to disable this).")
|
print(f"Opening the served URL in the default browser (use `--no-browser` or `-n` to disable this): {url}")
|
||||||
shell_open(f"http://127.0.0.1:{port}")
|
shell_open(url)
|
||||||
|
else:
|
||||||
|
print(f"Serving at: {url}")
|
||||||
|
|
||||||
test(CORSRequestHandler, DualStackServer, port=port)
|
try:
|
||||||
|
httpd.serve_forever()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print("\nKeyboard interrupt received, stopping server.")
|
||||||
|
finally:
|
||||||
|
# Clean-up server
|
||||||
|
httpd.server_close()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in a new issue