From 398cfd1bf0ae6b15aa8c981a87f94b5995c07003 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 4 Mar 2021 10:06:26 +0300 Subject: server.py: port number is a parameter --- server.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 35099cf..d5a0f35 100755 --- a/server.py +++ b/server.py @@ -8,11 +8,16 @@ # This script launches a HTTP server and uses app.py for processing a set of # custom URLs. See that file for the reasons behind this. +import argparse import http.server +import sys from app import Request +DEFAULT_PORT = 18101 + + class RequestHandler(http.server.SimpleHTTPRequestHandler): def do_GET(self): try: @@ -28,8 +33,19 @@ class RequestHandler(http.server.SimpleHTTPRequestHandler): response.write_as_request_handler(self) -def main(): - addr = ('', 18101) +def parse_args(args=None): + if args is None: + args = sys.argv[1:] + parser = argparse.ArgumentParser() + parser.add_argument('-p', '--port', metavar='PORT', + type=int, default=DEFAULT_PORT, + help='set port number') + return parser.parse_args(args) + + +def main(args=None): + args = parse_args(args) + addr = ('', args.port) httpd = http.server.ThreadingHTTPServer(addr, RequestHandler) try: httpd.serve_forever() -- cgit v1.2.3