author | Tero Marttila <terom@paivola.fi> |
Mon, 21 Jan 2013 18:39:53 +0200 | |
changeset 163 | 96d551b90734 |
parent 161 | cc10eb9d0055 |
child 166 | d9304aca296d |
permissions | -rw-r--r-- |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
1 |
# encoding: utf-8 |
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 |
http://verkko.paivola.fi/rrd |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
4 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
5 |
|
156
999ae3e9fdec
pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
155
diff
changeset
|
6 |
from pvl import web |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
7 |
from pvl.web import urls |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
from pvl.web.html import tags as html |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
9 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
import pvl.rrd |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
import logging; log = logging.getLogger('pvl.verkko.rrd') |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
# View/Controller |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
15 |
class Handler (web.Handler) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
16 |
CSS = ( |
158
3ff66d4f401c
split up static into rrd/dhcp
Tero Marttila <terom@paivola.fi>
parents:
157
diff
changeset
|
17 |
"/static/rrd/rrd.css", |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
18 |
) |
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 |
def title (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
21 |
return u"Päivölä Network - Network RRD Traffic Graphs" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
22 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
23 |
def breadcrumb (self, _tree, target=None) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
24 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
25 |
Yield (title, url) navigation breadcrumbs |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
26 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
27 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
28 |
yield '/', self.url(Index) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
29 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
30 |
if _tree : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
31 |
tree = '' |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
32 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
33 |
for part in _tree.split('/') : |
156
999ae3e9fdec
pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
155
diff
changeset
|
34 |
tree = urls.join(tree, part) |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
35 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
36 |
yield part, self.url(Index, tree=tree) |
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 |
if target : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
39 |
# Target |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
40 |
yield target, self.url(Target, tree=tree, target=self.target) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
41 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
42 |
def render_breadcrumb (self, tree, target=None) : |
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 |
Render breadcrumb -> html.div |
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 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
47 |
return html.div(id='breadcrumb')(html(" » ".join( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
48 |
str(html.a(href=url)(node)) for node, url in self.breadcrumb(tree, target))) |
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 |
class Index (Handler) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
52 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
53 |
Browse trees, show overview graphs for targets. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
54 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
55 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
56 |
def _title (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
57 |
if self.tree : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
58 |
return html(" » ".join(self.tree.split('/'))) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
59 |
else : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
60 |
return "" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
61 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
62 |
def url_tree (self, node) : |
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 |
Return url for given sub-node. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
65 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
66 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
67 |
if self.tree : |
156
999ae3e9fdec
pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
155
diff
changeset
|
68 |
path = urls.join(self.tree, node) |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
69 |
else : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
70 |
path = node |
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 |
return self.url(tree=path) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
73 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
74 |
def process (self, tree=None) : |
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 |
Lookup path -> self.tree. |
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 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
79 |
if tree : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
80 |
try : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
81 |
# XXX: unicode? |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
82 |
self.tree = self.app.rrd.tree(tree) |
156
999ae3e9fdec
pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
155
diff
changeset
|
83 |
|
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
84 |
except ValueError as ex : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
85 |
# mask |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
86 |
raise web.NotFound(tree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
87 |
else : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
88 |
# root |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
89 |
self.tree = self.app.rrd.tree() |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
90 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
91 |
def render_list (self, items) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
92 |
return ( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
93 |
html.li(class_=('odd' if idx % 2 else 'even'))(item) for idx, item in enumerate(items) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
94 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
95 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
96 |
def render_rrd (self, rrd) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
97 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
98 |
Render overview link/image for given rrd. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
99 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
100 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
101 |
target_url = self.url(Target, tree=self.tree, target=rrd) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
102 |
graph_url = self.url(Graph, tree=self.tree, target=rrd) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
103 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
104 |
return html.a(href=target_url)( |
153
8930f54b59b4
pvl.verkko.rrd: --rrd is required; fix overview rrd name layout
Tero Marttila <terom@paivola.fi>
parents:
152
diff
changeset
|
105 |
html.h3(rrd), |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
106 |
html.img(src=graph_url), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
107 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
108 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
109 |
def render (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
110 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
111 |
Render list of trees/rrds. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
112 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
113 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
114 |
trees, rrds = self.app.rrd.list(self.tree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
115 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
116 |
return self.render_breadcrumb(self.tree), html.div(id='overview')( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
117 |
html.ul(id='tree-list')( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
118 |
self.render_list( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
119 |
html.a(href=self.url_tree(subtree))(subtree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
120 |
for subtree in trees) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
121 |
) if trees else None, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
122 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
123 |
html.hr() if trees and rrds else None, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
124 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
125 |
html.ul(id='rrd-list')( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
126 |
self.render_list( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
127 |
self.render_rrd(rrd) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
128 |
for rrd in rrds) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
129 |
) if rrds else None, |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
130 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
131 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
132 |
class Target (Handler) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
133 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
134 |
Show graphs for RRD file. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
135 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
136 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
137 |
def _title (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
138 |
return html(" » ".join(self.rrd.split('/'))) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
139 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
140 |
def process (self, target, tree=None) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
141 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
142 |
Lookup tree/target -> self.target |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
143 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
144 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
145 |
try : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
146 |
self.tree = self.app.rrd.tree(tree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
147 |
self.rrd = self.app.rrd.rrd(target, self.tree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
148 |
self.target = target |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
149 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
150 |
except ValueError as ex : |
161
cc10eb9d0055
pvl.verkko.fix: re-fix NotFound error... having tree root=None causes headaches..
Tero Marttila <terom@paivola.fi>
parents:
158
diff
changeset
|
151 |
raise web.NotFound((tree, target)) |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
152 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
153 |
def render_interval (self, interval, style='detail') : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
154 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
155 |
Render detail link/image. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
156 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
157 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
158 |
graph_url = self.url(Graph, tree=self.tree, target=self.target, style=style, interval=interval) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
159 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
160 |
return ( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
161 |
html.h2(interval.title()), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
162 |
html.img(src=graph_url) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
163 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
164 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
165 |
INTERVALS = ('daily', 'weekly', 'yearly') |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
166 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
167 |
def render (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
168 |
return self.render_breadcrumb(self.tree, self.target), html.div(id='detail')( |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
169 |
self.render_interval(interval) for interval in self.INTERVALS |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
170 |
) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
171 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
172 |
from pvl.invoke import merge # XXX |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
173 |
import werkzeug # wrap_file |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
174 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
175 |
class Graph (Handler) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
176 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
177 |
Render graph for RRD. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
178 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
179 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
180 |
ARGS = { 'interval': 'daily', 'style': 'overview' } |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
181 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
182 |
def process (self, tree, target, style, interval) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
183 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
184 |
Return Graph for given options. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
185 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
186 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
187 |
try : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
188 |
self.tree = self.app.rrd.tree(tree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
189 |
self.rrd = self.app.rrd.rrd(target, self.tree) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
190 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
191 |
except ValueError as ex : |
161
cc10eb9d0055
pvl.verkko.fix: re-fix NotFound error... having tree root=None causes headaches..
Tero Marttila <terom@paivola.fi>
parents:
158
diff
changeset
|
192 |
raise web.NotFound((tree, target)) |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
193 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
194 |
self.style = style |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
195 |
self.interval = interval |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
196 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
197 |
def render_png (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
198 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
199 |
Return PNG data as a file-like object for our graph. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
200 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
201 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
202 |
return self.app.rrd.graph(self.rrd, self.style, self.interval) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
203 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
204 |
def respond (self) : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
205 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
206 |
Return Response for our request. |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
207 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
208 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
209 |
# process params+args -> self.graph |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
210 |
process = merge(self.params, dict((arg, self.request.args.get(arg, default)) for arg, default in self.ARGS.iteritems())) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
211 |
response = self.process(**process) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
212 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
213 |
if response : |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
214 |
return response |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
215 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
216 |
# PNG output |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
217 |
render = self.render_png() |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
218 |
file = werkzeug.wrap_file(self.request.environ, render) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
219 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
220 |
# respond with file wrapper |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
221 |
return web.Response(file, mimetype='image/png', direct_passthrough=True) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
222 |
|
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
223 |
# WSGI |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
224 |
class Application (web.Application) : |
156
999ae3e9fdec
pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
155
diff
changeset
|
225 |
# dispatch |
163
96d551b90734
pvl.verkko.rrd: fix Application(...) to super
Tero Marttila <terom@paivola.fi>
parents:
161
diff
changeset
|
226 |
URLS = urls.Map(( |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
227 |
urls.rule('/', Index), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
228 |
urls.rule('/<target>', Target), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
229 |
urls.rule('/<path:tree>/', Index), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
230 |
urls.rule('/<path:tree>/<target>', Target), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
231 |
urls.rule('/<path:tree>/<target>.png', Graph), |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
232 |
)) |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
233 |
|
163
96d551b90734
pvl.verkko.rrd: fix Application(...) to super
Tero Marttila <terom@paivola.fi>
parents:
161
diff
changeset
|
234 |
def __init__ (self, rrd, **opts) : |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
235 |
""" |
156
999ae3e9fdec
pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
155
diff
changeset
|
236 |
rrd - pvl.rrd.RRDDatabase |
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
237 |
""" |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
238 |
|
163
96d551b90734
pvl.verkko.rrd: fix Application(...) to super
Tero Marttila <terom@paivola.fi>
parents:
161
diff
changeset
|
239 |
super(Application, self).__init__(**opts) |
96d551b90734
pvl.verkko.rrd: fix Application(...) to super
Tero Marttila <terom@paivola.fi>
parents:
161
diff
changeset
|
240 |
|
152
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
241 |
self.rrd = rrd |
33b98b46d8fb
pvl.verkko.rrd: reimplementation of old rrdweb using pvl.web/rrd
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
242 |