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