#!/usr/bin/python
"""
pvl.verkko.rrd wsgi development server
"""
import werkzeug.serving
from pvl import __version__
import pvl.args
import pvl.verkko.rrd
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('--rrd', metavar='PATH',
help="Find RRD files")
parser.add_option('--cache', metavar='PATH',
help="Cache RRD graphs")
# 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__)
# rrd
if not options.rrd :
log.error("no --rrd given")
return 2
rrd = pvl.verkko.rrd.RRDDatabase(options.rrd, options.cache)
# app
application = pvl.verkko.rrd.Application(rrd)
# wsgi wrapper
werkzeug.serving.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))