1a09db53e7d8196341de83c6b698d73d1448278e
[bwmon.git] / bwmon / http.py
blob1a09db53e7d8196341de83c6b698d73d1448278e
1 # -*- coding: utf-8 -*-
3 from __future__ import absolute_import
5 import BaseHTTPServer
7 import os
9 JS = open(os.path.join(os.path.dirname(__file__) or '.', '..', 'all.js')).read()
11 HTML = """
12 <script type="text/javascript">
13 window.onload = function() {
14 var paper = new Raphael(0, 0, 640, 480);
15 paper.g.linechart(0, 0, 640, 480, %s, %s);
17 </script>
18 </head>
19 <body>
20 </body>
21 </html>
22 """
24 class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
25 """HTTP Request handler (returns monitoring data)
27 This is a simple request handler used by the built-in
28 HTTP server to visualize the monitoring data.
29 """
30 monitor = None
32 def do_GET(self):
33 """Handler for HTTP GET requests
34 """
35 self.send_response(200)
36 self.send_header('Content-type', 'text/html')
37 self.send_header('Refresh', '5')
38 self.end_headers()
40 x, yy = self.monitor.get_datapoints()
42 self.wfile.write('<html><head><script type="text/javascript">')
43 self.wfile.write(JS)
44 self.wfile.write('</script>')
45 self.wfile.write(HTML % (repr(x), repr(yy)))
47 #server = BaseHTTPServer.HTTPServer(('', 8000), RequestHandler)
48 #while True:
49 # server.handle_request()