bin/pvl.verkko-rrd
changeset 164 2c66ab45d91e
parent 156 999ae3e9fdec
child 165 60fc0594a201
equal deleted inserted replaced
163:96d551b90734 164:2c66ab45d91e
    11 import pvl.rrd.args
    11 import pvl.rrd.args
    12 import pvl.verkko.rrd
    12 import pvl.verkko.rrd
    13 
    13 
    14 import optparse
    14 import optparse
    15 import logging; log = logging.getLogger('main')
    15 import logging; log = logging.getLogger('main')
       
    16 
       
    17 import codecs # --web-layout
    16 
    18 
    17 def parse_argv (argv, doc = __doc__) :
    19 def parse_argv (argv, doc = __doc__) :
    18     """
    20     """
    19         Parse command-line argv, returning (options, args).
    21         Parse command-line argv, returning (options, args).
    20     """
    22     """
    32 
    34 
    33     # common
    35     # common
    34     parser.add_option_group(pvl.args.parser(parser))
    36     parser.add_option_group(pvl.args.parser(parser))
    35     parser.add_option_group(pvl.rrd.args.parser(parser))
    37     parser.add_option_group(pvl.rrd.args.parser(parser))
    36 
    38 
       
    39     parser.add_option('--web-layout', metavar='TEMPLATE',
       
    40             help="Use template from given file for layout")
       
    41 
    37     # parse
    42     # parse
    38     options, args = parser.parse_args(args)
    43     options, args = parser.parse_args(args)
    39 
    44 
    40     # apply
    45     # apply
    41     pvl.args.apply(options)
    46     pvl.args.apply(options)
    50     # parse cmdline
    55     # parse cmdline
    51     options, args = parse_argv(argv, doc=__doc__)
    56     options, args = parse_argv(argv, doc=__doc__)
    52 
    57 
    53     # rrd
    58     # rrd
    54     rrd = pvl.rrd.args.apply(options)
    59     rrd = pvl.rrd.args.apply(options)
       
    60 
       
    61     if options.web_layout :
       
    62         layout = codecs.open(options.web_layout, 'r', 'utf-8').read()
       
    63     else :
       
    64         layout = None
    55  
    65  
    56     # app
    66     # app
    57     application = pvl.verkko.rrd.Application(rrd)
    67     application = pvl.verkko.rrd.Application(rrd,
       
    68             layout  = layout
       
    69     )
    58 
    70 
    59     # wsgi wrapper
    71     # wsgi wrapper
    60     werkzeug.serving.run_simple('0.0.0.0', 8080, application,
    72     werkzeug.serving.run_simple('0.0.0.0', 8080, application,
    61             #use_reloader    = True, 
    73             #use_reloader    = True, 
    62             use_debugger    = (options.loglevel == logging.DEBUG),
    74             use_debugger    = (options.loglevel == logging.DEBUG),