diff launch @ 39:ee19984ba31d draft

Merge in the header-includes branch to the trunk.
author David Barts <n5jrn@me.com>
date Tue, 28 May 2019 20:20:19 -0700
parents ce67eac10fc7
children df27cf08c093
line wrap: on
line diff
--- a/launch	Tue May 21 18:01:44 2019 -0700
+++ b/launch	Tue May 28 20:20:19 2019 -0700
@@ -7,7 +7,7 @@
 
 import os, sys
 from argparse import ArgumentParser
-from tincan import launch
+from tincan import launch, ENCODING
 
 # V a r i a b l e s
 
@@ -17,14 +17,19 @@
 
 parser = ArgumentParser(prog=sys.argv[0], usage="%(prog)s [options] [directory [path]]")
 opt = parser.add_argument
-opt("-b", "--bind", default="localhost", help="address to bind to")
-opt("-p", "--port", default=8080, help="port to listen on")
+opt("-b", "--bind", default="localhost", help="address to bind to (default: localhost)")
+opt("-d", "--debug", action="store_true", help="enable debug mode")
+opt("-e", "--encoding", default=ENCODING, help="encoding to use (default {0})".format(ENCODING))
+opt("-f", "--force", action="store_true", help="do not abort on errors")
+opt("-p", "--port", default=8080, help="port to listen on (default: 8080)")
 opt("directory", default=".", help="directory to serve", nargs='?')
 opt("path", default="/", help="URL path to serve", nargs='?')
 args = parser.parse_args(sys.argv[1:])
-app, errors = launch(fsroot=args.directory, urlroot=args.path)
+app, errors = launch(fsroot=args.directory, urlroot=args.path, debug=args.debug,
+    encoding=args.encoding)
 if errors:
-    sys.stderr.write("{0}: {1} error{2} detected, aborting\n".format(
-        MYNAME, errors, "" if errors == 1 else "s"))
-    sys.exit(1)
+    action = "continuing" if args.force else "aborting"
+    sys.stderr.write("{0}: {1} error{2} detected, {3}\n".format(
+        MYNAME, errors, "" if errors == 1 else "s", action))
+    if not args.force: sys.exit(1)
 app.run(host=args.bind, port=args.port)