version up eggs.
[slapos.git] / stack / monitor / webfile-directory / status.cgi.in
1 #!{{ python_executable }}
2
3 import cgi
4 import cgitb
5 import json
6 import os
7 import subprocess
8
9 def refresh():
10   command = ["{{ monitor_bin }}", "-a"]
11   subprocess.call(command)
12
13 cgitb.enable(display=0, logdir="/tmp/cgi.log")
14 form = cgi.FieldStorage()
15
16 json_file = "{{ json_file }}"
17
18 if not os.path.exists(json_file) or "refresh" in form:
19   refresh()
20
21 if not os.path.exists(json_file):
22   print """<html><head>
23   <link rel="stylesheet" href="static/pure-min.css">
24   <link rel="stylesheet" href="static/style.css">
25   </head><body>
26   <h1>Monitoring :</h1>
27   No status file found</p></body></html>"""
28   exit(0)
29
30 result = json.load(open(json_file))
31
32 print "<html><head>"
33 print "<link rel=\"stylesheet\" href=\"static/pure-min.css\">"
34 print "<link rel=\"stylesheet\" href=\"static/style.css\">"
35 print "</head><body>"
36 print "<h1>Monitoring :</h1>"
37 print "<form action=\"/index.cgi\" method=\"post\" class=\"pure-form-aligned\">"
38 print "<input type=\"hidden\" name=\"posting-script\" value=\"{{ pwd }}/{{ this_file }}\">"
39 print "<p><em>Last time of monitoring process : %s</em></p>" % (result['datetime'])
40 del result['datetime']
41 print "<div class=\"pure-controls\"><button type=\"submit\" class=\"pure-button \
42  pure-button-primary\" name=\"refresh\" value=\"refresh\">Refresh</button></div></form>"
43 print "<br/>"
44
45 print "<h2>These scripts and promises have failed :</h2>"
46 for r in result:
47   if result[r] != '':
48     print "<h3>%s</h3><pre style=\"padding-left:30px;\">%s</pre>" % (cgi.escape(r), cgi.escape(result[r]))
49 print "<br/>"
50
51 print "<h2>These scripts and promises were successful :</h2>"
52 print "<ul>"
53 for r in result:
54   if result[r] == '':
55     print "<li>%s</li>" % (r)
56 print "</ul>"
57 print "</body></html>"