aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'server.py')
-rwxr-xr-xserver.py20
1 files 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()