Add support for passing in rrdfilename as argument

This commit is contained in:
2024-05-20 16:38:12 +02:00
parent 4da81276d5
commit 85097d5d0f

View File

@ -47,7 +47,7 @@ class RequestHandler(SimpleHTTPRequestHandler):
else:
title = 'monthly'
startstr = '--start=end-1M'
data = rrdtool.graphv("-", startstr, "--title=" + title, "DEF:in=test.rrd:net_dnat:AVERAGE", "DEF:out=test.rrd:loc-net:AVERAGE", "CDEF:result_in=in,UN,0,in,IF", "CDEF:tmp_out=out,UN,0,out,IF", "CDEF:result_out=tmp_out,-1,*", "AREA:result_in#00ff00:in", "AREA:result_out#0000ff:out")
data = rrdtool.graphv("-", startstr, "--title=" + title, "DEF:in=" + self.filename + ":net_dnat:AVERAGE", "DEF:out=" + self.filename + ":loc-net:AVERAGE", "CDEF:result_in=in,UN,0,in,IF", "CDEF:tmp_out=out,UN,0,out,IF", "CDEF:result_out=tmp_out,-1,*", "AREA:result_in#00ff00:in", "AREA:result_out#0000ff:out")
#, "--width", "1024", "--height", "600"
self.wfile.write(data['image'])
break
@ -84,13 +84,20 @@ class RequestHandler(SimpleHTTPRequestHandler):
self.wfile.write('<img src="/graph/daily">'.encode('utf-8'))
self.wfile.write("</body></html>".encode('utf-8'))
def server(server_class=ThreadingHTTPServer, handler_class=RequestHandler):
def set_rrd_file(self, filename: str):
self.filename = filename
def server(server_class=ThreadingHTTPServer, handler_class=RequestHandler, rrdfilename="test.rrd"):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
http.handler_class.set_rrd_file(rrdfilename)
httpd.serve_forever()
def main():
server()
if len(sys.argv) > 1:
server(rrdfilename=sys.argv[1])
else:
server()
if __name__ == '__main__':
logging.debug('Welcome')