diff options
Diffstat (limited to '')
-rwxr-xr-x | src/server.py (renamed from server.py) | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/server.py b/src/server.py index 914765d..75723bd 100755 --- a/server.py +++ b/src/server.py @@ -24,6 +24,10 @@ def script_dir(): return os.path.dirname(os.path.realpath(__file__)) +def default_html_dir(): + return os.path.join(script_dir(), 'html') + + class RequestHandler(http.server.SimpleHTTPRequestHandler): def do_GET(self): try: @@ -55,15 +59,19 @@ def parse_args(args=None): parser.add_argument('-p', '--port', metavar='PORT', type=int, default=DEFAULT_PORT, help='set port number') + parser.add_argument('-d', '--dir', metavar='DIR', + default=default_html_dir(), + help='HTML directory path') return parser.parse_args(args) def main(args=None): - # It's a failsafe; this script is only allowed to serve the directory it - # resides in. - os.chdir(script_dir()) - args = parse_args(args) + + # It's a failsafe; the script is not allowed to serve a random current + # working directory. + os.chdir(args.dir) + httpd = make_server(args.port) try: httpd.serve_forever() |