annotate views/bottledash_view.tpl @ 32:a957a56bb694

release zur abgabe
author sean
date Sun, 23 Aug 2015 21:52:33 +0200
parents a43fa30655e9
children b47fc5eb9e01
rev   line source
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
1 <!-- This tempalte is a part of bottledash
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
2 author: sean engelhardt >sean.engelhardt@intevation.de
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
3 License: GNU GPL >= v2. See LICENSE for details. -->
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
4
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
5 <%
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
6 import math, os, sys, subprocess, html.parser
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
7 from datetime import date
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
8
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
9 PATH = os.path.abspath(os.path.dirname(sys.argv[0]))
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
10 sys.path.append(PATH + "/modules")
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
11 import web_view
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
12
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
13 #################
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
14 # settings #
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
15 #################
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
16
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
17 show_top_bar = settings["show_top_bar"]
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
18
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
19 #################
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
20 # date and time #
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
21 #################
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
22
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
23 today = date.today()
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
24 weekday = ("Montag", "Dienstag", "Mittwoch", "Donnerstag",
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
25 "Freitag", "Samstag", "Sonntag")[today.weekday()]
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
26 month_name = ("Januar", "Februar", "März", "Aprill", "Mai",
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
27 "Juni", "Juli", "August", "September", "Oktober",
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
28 "November", "Dezember")[today.month-1]
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
29
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
30 number_of_rows = settings["rows"]
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
31
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
32 #################
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
33 # viewport size #
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
34 #################
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
35 vp_size = "4vw"
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
36
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
37 #if len(tiles) <= 2:
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
38 # vp_size = "6vw"
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
39 #elif len(tiles) >2 and len(tiles) <=4 :
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
40 # vp_size = "5vw"
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
41 #elif len(tiles) >4 and len(tiles) <=6 :
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
42 # vp_size = "4vw"
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
43 #elif len(tiles) >6 and len(tiles) <=8 :
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
44 # vp_size = "3vw"
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
45 #end
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
46 %>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
47
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
48 <html>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
49 <head>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
50 <!-- <meta http-equiv="refresh" content="5" /> -->
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
51 <link rel="stylesheet" type="text/css" href="/static/dash_style.css">
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
52 <style>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
53 #content{
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
54 min-width: 100%;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
55 % if show_top_bar == "True":
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
56 height: 95%;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
57 % else :
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
58 height: 100%;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
59 %end
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
60 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
61
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
62 .statusmon{
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
63 font-size: {{vp_size}};
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
64 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
65
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
66 .chart{
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
67 font-size: {{vp_size}};
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
68 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
69 </style>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
70
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
71 </head>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
72 <body>
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
73
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
74 <script type="text/javascript">
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
75
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
76 var global_width;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
77 var global_height;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
78 var tile_width;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
79 var tile_height;
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
80
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
81 var tiles = document.getElementsByClassName("tile");
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
82 var border_width = 2 ;
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
83 var space_between_tiles = 8;
20
1a13a4ecf931 can not recive post-requests wich should deliver if a server is up or down. Updated after a refresh of the webpage, wich will automatically done after 5 seconds
sean
parents: 19
diff changeset
84
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
85 var mon_tile_ips = [];
20
1a13a4ecf931 can not recive post-requests wich should deliver if a server is up or down. Updated after a refresh of the webpage, wich will automatically done after 5 seconds
sean
parents: 19
diff changeset
86
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
87
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
88 //save the IPs if the mon-tiles
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
89 % for tile in tiles:
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
90 % if tile["type"] == "mon":
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
91 mon_tile_ips.push('{{tile["source"]}}');
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
92 % end
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
93 % end
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
94
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
95 var space_lr_borders;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
96 var space_lr_margin;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
97
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
98 function calc_tile_with(){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
99 var tiles_per_row = Math.floor(tiles.length / {{number_of_rows}});
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
100 var distance = (space_between_tiles*2) + (border_width*2);
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
101 var tile_width = ((global_width / tiles_per_row ) - distance);
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
102 return tile_width;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
103 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
104
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
105 function calc_tile_height(){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
106 var distance = (space_between_tiles*2) + (border_width*2);
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
107 var tile_height = ((global_height / {{number_of_rows}} ) - distance);
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
108 return tile_height;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
109 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
110
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
111 function resize_content(){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
112 global_width = document.getElementById("content").clientWidth;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
113 global_height = document.getElementById("content").clientHeight;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
114
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
115
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
116 tile_width = calc_tile_with();
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
117 tile_height = calc_tile_height();
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
118
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
119 for(var tile = 0; tile < tiles.length; tile++){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
120 tiles[tile].style.width= tile_width + 'px';
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
121 tiles[tile].style.height= tile_height + 'px';
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
122 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
123 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
124
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
125 function set_mon_tile_status(ip, status){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
126 document.getElementById(ip).className = "tile statusmon " + status;
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
127 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
128
22
3dfa9ed1dd8b added static files
sean
parents: 21
diff changeset
129 //check current state of an IP
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
130 function check_server_state(ip){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
131 var request = new XMLHttpRequest();
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
132 var params = "service=" + ip;
23
f63737665ac5 fixed an URL rediretion problem
sean
parents: 22
diff changeset
133 request.open('POST', window.location.href + "ask-systemstate", false);
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
134 request.send(params);
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
135 // console.log(request.responseText);
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
136 return request.responseText
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
137 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
138
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
139 function check_server_state_loop() {
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
140 for (var i = 0; i < mon_tile_ips.length; i++) {
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
141 var state = check_server_state(mon_tile_ips[i])
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
142 if (state == "UPALERT" || state == "UP" || state == "wait") {
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
143 set_mon_tile_status(mon_tile_ips[i], "active")
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
144 } else {
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
145 set_mon_tile_status(mon_tile_ips[i], "dead")
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
146 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
147 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
148 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
149 setInterval(check_server_state_loop, 10000); // Time in milliseconds
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
150
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
151 window.onresize = function(){
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
152 resize_content();
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
153 }
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
154
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
155 document.addEventListener("DOMContentLoaded", function(event) {
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
156 resize_content();
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
157 });
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
158
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
159 </script>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
160
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
161 <div id = "wrapper">
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
162 % if show_top_bar == "True":
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
163 <div id = "topbar">
31
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
164 <div id = "top_left">
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
165 <b>{{weekday}}</b> {{today.day}}. {{month_name}}
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
166 </div>
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
167
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
168 <div id = "top_center">
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
169 Webadresse: <script>document.write(window.location.href)</script>
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
170 </div>
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
171
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
172 <div id = "top_right">
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
173 Synced: 0 Minutes Ago
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
174 </div>
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
175
a43fa30655e9 better alignment of the top-bar
sean
parents: 28
diff changeset
176
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
177 </div>
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
178 % end
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
179
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
180 <div id = "content">
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
181 <%
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
182 for tile in tiles :
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
183 type = ""
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
184 tile_content = ""
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
185 status = ""
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
186 uid = ""
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
187 add_style = ""
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
188
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
189 if tile["type"] == "mon" :
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
190 type = "statusmon"
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
191 uid = tile["source"]
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
192 status = "unclear"
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
193 add_style = "display:table"
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
194
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
195 tile_content = """
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
196 <div class = "tilecontent">
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
197 {}
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
198 </div>
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
199 """.format(tile["source"])
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
200
25
05e5441c5160 charts will now be displayed as they should!
sean
parents: 24
diff changeset
201 elif tile["type"] == "web_view" :
05e5441c5160 charts will now be displayed as they should!
sean
parents: 24
diff changeset
202 type = tile["type"]
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
203 uid = tile["div_name"]
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
204 tile_content = web_view.make_chart(tile["script"], tile["div_name"])
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
205 end
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
206 %>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
207
28
af280057d5fa enhanced the design
sean
parents: 25
diff changeset
208 <div class = "tile {{type}} {{status}}" id = {{uid}} style = {{add_style}}>
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
209 {{!tile_content}}
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
210 </div>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
211
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
212 % end
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
213 </div>
16
f89ad628f831 adding the renamed files
sean
parents:
diff changeset
214 </div>
21
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
215 </body>
f730dd0bcf85 dynamic checking of the tile-status
sean
parents: 20
diff changeset
216 </html>
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)