Mercurial > templog
comparison web/templog.py @ 486:bb713e6d0e48
merge
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 07 Feb 2014 08:00:10 +0800 |
parents | d68af9e84485 |
children | ae5efca89001 |
comparison
equal
deleted
inserted
replaced
481:87acca3f5986 | 486:bb713e6d0e48 |
---|---|
6 import zlib | 6 import zlib |
7 from datetime import datetime, timedelta | 7 from datetime import datetime, timedelta |
8 import time | 8 import time |
9 import urllib | 9 import urllib |
10 import sys | 10 import sys |
11 import os | |
12 import traceback | |
13 import fcntl | |
11 | 14 |
12 import bottle | 15 import bottle |
13 from bottle import route, request, response | 16 from bottle import route, request, response |
14 | 17 |
15 import config | 18 import config |
16 import log | 19 import log |
20 import secure | |
17 | 21 |
18 DATE_FORMAT = '%Y%m%d-%H.%M' | 22 DATE_FORMAT = '%Y%m%d-%H.%M' |
19 ZOOM_SCALE = 2.0 | 23 ZOOM_SCALE = 2.0 |
20 | 24 |
21 @route('/update', method='post') | 25 @route('/update', method='post') |
41 start = end - timedelta(minutes=length_minutes) | 45 start = end - timedelta(minutes=length_minutes) |
42 | 46 |
43 response.set_header('Content-Type', 'image/png') | 47 response.set_header('Content-Type', 'image/png') |
44 start_epoch = time.mktime(start.timetuple()) | 48 start_epoch = time.mktime(start.timetuple()) |
45 return log.graph_png(start_epoch, length_minutes * 60) | 49 return log.graph_png(start_epoch, length_minutes * 60) |
50 | |
51 @route('/set') | |
52 def set(): | |
53 return bottle.template('set', | |
54 inline_data = log.get_params(), | |
55 csrf_blob = secure.get_csrf_blob()) | |
56 | |
57 @route('/set_current.json') | |
58 def set_fresh(): | |
59 response.set_header('Content-Type', 'application/javascript') | |
60 return log.get_current() | |
46 | 61 |
47 @route('/') | 62 @route('/') |
48 def top(): | 63 def top(): |
49 | 64 |
50 minutes = int(request.query.get('length', 26*60)) | 65 minutes = int(request.query.get('length', 26*60)) |
85 @route('/debug') | 100 @route('/debug') |
86 def debuglog(): | 101 def debuglog(): |
87 response.set_header('Content-Type', 'text/plain') | 102 response.set_header('Content-Type', 'text/plain') |
88 return log.tail_debug_log() | 103 return log.tail_debug_log() |
89 | 104 |
105 @route('/env') | |
106 def env(): | |
107 response.set_header('Content-Type', 'text/plain') | |
108 return '\n'.join(traceback.format_stack()) | |
109 #return '\n'.join(("%s %s" % k) for k in request.environ.items()) | |
110 #return str(request.environ) | |
111 #yield "\n" | |
112 #var_lookup = environ['mod_ssl.var_lookup'] | |
113 #return var_lookup("SSL_SERVER_I_DN_O") | |
114 | |
115 @bottle.get('/<filename:re:.*\.js>') | |
116 def javascripts(filename): | |
117 response.set_header('Cache-Control', "public, max-age=1296000") | |
118 return bottle.static_file(filename, root='static') | |
119 | |
120 @route('/setparams', method='post') | |
121 def update(): | |
122 post_json = json.loads(request.forms.data) | |
123 | |
124 csrf_blob = post_json['csrf_blob'] | |
125 | |
126 return str(post_json['params']) | |
127 | |
128 secure.setup_csrf() | |
129 | |
90 def main(): | 130 def main(): |
91 #bottle.debug(True) | 131 #bottle.debug(True) |
92 #bottle.run(reloader=True) | 132 #bottle.run(reloader=True) |
93 bottle.run(server='cgi', reloader=True) | 133 bottle.run(server='cgi', reloader=True) |
94 #bottle.run(port=9999, reloader=True) | 134 #bottle.run(port=9999, reloader=True) |