Coverage for trnbl\loggers\local\start_server.py: 28%
18 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-17 02:23 -0700
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-17 02:23 -0700
1"Usage: python start_server.py path/to/directory [port]"
3import os
4import http.server
5import socketserver
8def start_server(path: str, port: int = 8000) -> None:
9 """Starts a server to serve the files in the given path."""
10 os.chdir(path)
11 with socketserver.TCPServer(
12 ("", port), http.server.SimpleHTTPRequestHandler
13 ) as httpd:
14 print(f"Serving at http://localhost:{port}")
15 httpd.serve_forever()
18if __name__ == "__main__":
19 import sys
21 if len(sys.argv) == 1:
22 start_server(".")
23 elif len(sys.argv) == 2:
24 start_server(sys.argv[1])
25 elif len(sys.argv) == 3:
26 start_server(sys.argv[1], int(sys.argv[2]))
27 else:
28 print(f"Invalid number of arguments!\n{__doc__}")
29 sys.exit(1)