dev #2
@@ -122,13 +122,13 @@ def index():
|
|||||||
c.execute("SELECT mac, name, is_active FROM devices ORDER BY name ASC")
|
c.execute("SELECT mac, name, is_active FROM devices ORDER BY name ASC")
|
||||||
devices = c.fetchall()
|
devices = c.fetchall()
|
||||||
|
|
||||||
# Intervall laden
|
# Intervall aus DB laden
|
||||||
c.execute("SELECT value FROM settings WHERE key='interval'")
|
c.execute("SELECT value FROM settings WHERE key='interval'")
|
||||||
row = c.fetchone()
|
row = c.fetchone()
|
||||||
interval = int(row[0]) if row else 5
|
interval = int(row[0]) if row else 5
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
# Neu: Status und "zuletzt online" ermitteln
|
# Status aus Logdateien ermitteln
|
||||||
log_files = glob.glob("/var/log/rpi-*.log")
|
log_files = glob.glob("/var/log/rpi-*.log")
|
||||||
status_dict = {}
|
status_dict = {}
|
||||||
last_seen_dict = {}
|
last_seen_dict = {}
|
||||||
@@ -140,28 +140,23 @@ def index():
|
|||||||
|
|
||||||
for dev in devices:
|
for dev in devices:
|
||||||
last_status = None
|
last_status = None
|
||||||
last_time = None
|
for line in reversed(lines):
|
||||||
|
|
||||||
for line in reversed(lines): # von unten nach oben lesen
|
|
||||||
if f"{dev[1]} ist erreichbar!" in line:
|
if f"{dev[1]} ist erreichbar!" in line:
|
||||||
last_status = "online"
|
last_status = "online"
|
||||||
last_time = line.split(" ")[0] + " " + line.split(" ")[1]
|
|
||||||
break
|
break
|
||||||
elif f"{dev[1]} ist nicht erreichbar!" in line:
|
elif f"{dev[1]} ist nicht erreichbar!" in line:
|
||||||
last_status = "offline"
|
last_status = "offline"
|
||||||
last_time = line.split(" ")[0] + " " + line.split(" ")[1]
|
|
||||||
break
|
break
|
||||||
|
|
||||||
if last_status:
|
if last_status:
|
||||||
status_dict[dev[0]] = last_status
|
status_dict[dev[0]] = last_status
|
||||||
if last_status == "offline":
|
if last_status == "offline":
|
||||||
last_seen_dict[dev[0]] = [f"Zuletzt online: {last_time}", dev[1]]
|
last_seen_dict[dev[0]] = get_last_seen(dev[1])
|
||||||
else:
|
else:
|
||||||
status_dict[dev[0]] = "unbekannt"
|
status_dict[dev[0]] = "unbekannt"
|
||||||
|
|
||||||
return render_template("index.html", devices=devices, status=status_dict, last_seen=last_seen_dict, interval=interval)
|
return render_template("index.html", devices=devices, status=status_dict, last_seen=last_seen_dict, interval=interval)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/settings", methods=["GET", "POST"])
|
@app.route("/settings", methods=["GET", "POST"])
|
||||||
@login_required
|
@login_required
|
||||||
def settings():
|
def settings():
|
||||||
|
|||||||
Reference in New Issue
Block a user