author | Tero Marttila <terom@paivola.fi> |
Sun, 20 Jan 2013 18:31:21 +0200 | |
changeset 153 | 8930f54b59b4 |
parent 152 | 33b98b46d8fb |
child 154 | 11df86fd2d67 |
permissions | -rwxr-xr-x |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
1 |
#!/usr/bin/python |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
2 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
3 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
4 |
pvl.verkko.rrd wsgi development server |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
5 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
6 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
7 |
import werkzeug.serving |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
9 |
from pvl import __version__ |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
import pvl.args |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
import pvl.verkko.rrd |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
import optparse |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
import logging; log = logging.getLogger('main') |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
15 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
16 |
def parse_argv (argv, doc = __doc__) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
17 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
18 |
Parse command-line argv, returning (options, args). |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
19 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
20 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
21 |
prog = argv.pop(0) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
22 |
args = argv |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
23 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
24 |
# optparse |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
25 |
parser = optparse.OptionParser( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
26 |
prog = prog, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
27 |
usage = '%prog: [options] [<user> [...]]', |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
28 |
version = __version__, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
29 |
description = doc, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
30 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
31 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
32 |
# common |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
33 |
parser.add_option_group(pvl.args.parser(parser)) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
34 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
35 |
parser.add_option('--rrd', metavar='PATH', |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
36 |
help="Path to RRD files") |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
37 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
38 |
# parse |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
39 |
options, args = parser.parse_args(args) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
40 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
41 |
# apply |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
42 |
pvl.args.apply(options) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
43 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
44 |
return options, args |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
45 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
46 |
def main (argv) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
47 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
48 |
pvl.verkko wsgi development server. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
49 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
50 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
51 |
# parse cmdline |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
52 |
options, args = parse_argv(argv, doc=__doc__) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
53 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
54 |
# rrd |
153
8930f54b59b4
pvl.verkko.rrd: --rrd is required; fix overview rrd name layout
Tero Marttila <terom@paivola.fi>
parents:
152
diff
changeset
|
55 |
if not options.rrd : |
8930f54b59b4
pvl.verkko.rrd: --rrd is required; fix overview rrd name layout
Tero Marttila <terom@paivola.fi>
parents:
152
diff
changeset
|
56 |
log.error("no --rrd given") |
8930f54b59b4
pvl.verkko.rrd: --rrd is required; fix overview rrd name layout
Tero Marttila <terom@paivola.fi>
parents:
152
diff
changeset
|
57 |
return 2 |
8930f54b59b4
pvl.verkko.rrd: --rrd is required; fix overview rrd name layout
Tero Marttila <terom@paivola.fi>
parents:
152
diff
changeset
|
58 |
|
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
59 |
rrd = pvl.verkko.rrd.RRDDatabase(options.rrd) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
60 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
61 |
# app |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
62 |
application = pvl.verkko.rrd.Application(rrd) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
63 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
64 |
# wsgi wrapper |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
65 |
werkzeug.serving.run_simple('0.0.0.0', 8080, application, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
66 |
#use_reloader = True, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
67 |
use_debugger = (options.loglevel == logging.DEBUG), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
68 |
static_files = { |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
69 |
'/static': 'static', |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
70 |
}, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
71 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
72 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
73 |
if __name__ == '__main__' : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
74 |
import sys |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
75 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
76 |
sys.exit(main(sys.argv)) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
77 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
78 |