Fixed graph not being split when over threshold. Added route arg so services can be charted by id.

This commit is contained in:
2025-09-05 12:08:35 +02:00
parent 139be129ee
commit 05d9ea1104

12
app.py
View File

@@ -1,5 +1,5 @@
# import requests as r # import requests as r
from flask import jsonify, render_template, send_file, redirect from flask import jsonify, render_template, send_file, abort
from poll_services import start_async_loop from poll_services import start_async_loop
from mem import services, app, db from mem import services, app, db
import threading import threading
@@ -21,8 +21,8 @@ def split_graph(logs: list[log]) -> tuple[list[str], list[Optional[int]]]:
for i in range(1, len(logs)): for i in range(1, len(logs)):
log1 = logs[i] log1 = logs[i]
log2 = logs[i - 1] log2 = logs[i - 1]
if (abs(log1.dateCreated - log2.dateCreated)) > timedelta(seconds=6):
if (log1.dateCreated - log2.dateCreated) > timedelta(seconds=6):
x.append(log2.dateCreated.isoformat()) x.append(log2.dateCreated.isoformat())
y.append(None) y.append(None)
@@ -60,11 +60,11 @@ def homepage():
return render_template("home.html") return render_template("home.html")
@app.route("/chart") @app.route("/chart/<int:id>")
def chart(): def chart(id: int):
with app.app_context(): with app.app_context():
logs = [] logs = []
s = db.session.query(service).first() s = db.session.query(service).filter_by(id=id).first()
if s: if s:
logs = cast( logs = cast(
list[log], list[log],
@@ -73,7 +73,7 @@ def chart():
.all(), .all(),
) )
else: else:
return redirect("/") return abort(code=403)
x, y = split_graph(logs=logs) x, y = split_graph(logs=logs)
return render_template( return render_template(