#!/usr/bin/python
from werkzeug.serving import run_simple
import pvl.args
import pvl.web.args
import pvl.verkko
import pvl.verkko.dhcp
from pvl.verkko import __version__
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_group(pvl.web.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__)
# open
database = pvl.verkko.Database(options.database_read)
# app
application = pvl.web.args.apply(options, pvl.verkko.dhcp.Application, database)
pvl.web.args.main(options, application)
if __name__ == '__main__' :
import sys
sys.exit(main(sys.argv))