bin/pvl.verkko-dhcp
changeset 151 8a9f01036091
parent 14 02c21749cb4f
child 165 60fc0594a201
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/pvl.verkko-dhcp	Sun Jan 20 18:26:12 2013 +0200
@@ -0,0 +1,67 @@
+#!/usr/bin/python
+
+from werkzeug.serving import run_simple
+
+from pvl import __version__
+import pvl.args
+import pvl.verkko.wsgi
+
+import optparse
+import logging; log = logging.getLogger('main')
+
+def parse_argv (argv, doc = __doc__) :
+    """
+        Parse command-line argv, returning (options, args).
+    """
+
+    prog = argv.pop(0)
+    args = argv
+
+    # optparse
+    parser = optparse.OptionParser(
+        prog        = prog,
+        usage       = '%prog: [options] [<user> [...]]',
+        version     = __version__,
+        description = doc,
+    )
+
+    # common
+    parser.add_option_group(pvl.args.parser(parser))
+
+    parser.add_option('-d', '--database-read', metavar='URI', default='sqlite:///var/verkko.db',
+        help="Database to use (readonly)")
+
+    # parse
+    options, args = parser.parse_args(args)
+
+    # apply
+    pvl.args.apply(options)
+
+    return options, args
+
+def main (argv) :
+    """
+        pvl.verkko wsgi development server.
+    """
+
+    # parse cmdline
+    options, args = parse_argv(argv, doc=__doc__)
+
+    # app
+    application = pvl.verkko.wsgi.Application(options.database_read)
+
+    # wsgi wrapper
+    run_simple('0.0.0.0', 8080, application,
+            #use_reloader    = True, 
+            use_debugger    = (options.loglevel == logging.DEBUG),
+            static_files    = {
+                '/static':      'static',
+            },
+    )
+
+if __name__ == '__main__' :
+    import sys
+
+    sys.exit(main(sys.argv))
+
+