From 9d39f7178d0d591a32792189340debc8832c09b0 Mon Sep 17 00:00:00 2001 From: lelo Date: Thu, 29 May 2025 09:41:12 +0000 Subject: [PATCH] add categories to dashboard --- analytics.py | 15 +++++++++++++-- templates/dashboard.html | 4 +++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/analytics.py b/analytics.py index d50dc9d..8aa1ca5 100644 --- a/analytics.py +++ b/analytics.py @@ -384,7 +384,7 @@ def dashboard(): WHERE timestamp >= ? {filetype_filter_sql} GROUP BY rel_path ORDER BY access_count DESC - LIMIT 20 + LIMIT 1000 ''' with log_db: cursor = log_db.execute(query, params_for_filter) @@ -400,6 +400,13 @@ def dashboard(): for rel_path, access_count in rows ] + top20_overall = rows[:20] + top20_predigt = [r for r in rows if r['category'] == 'Predigt'][:20] + top20_chor = [r for r in rows if r['category'] == 'Chor'][:20] + top20_ggesang = [r for r in rows if r['category'] == 'Gemeinsamer Gesang'][:20] + top20_glied = [r for r in rows if r['category'] == 'Gruppenlied'][:20] + + # 2. Distinct device trend # We'll group by hour if "today", by day if "7days"/"30days", by month if "365days" if session['timeframe'] == 'last24hours': @@ -605,7 +612,11 @@ def dashboard(): return render_template( "dashboard.html", timeframe=session['timeframe'], - rows=rows, + top20_overall = top20_overall, + top20_predigt = top20_predigt, + top20_chor = top20_chor, + top20_ggesang = top20_ggesang, + top20_glied = top20_glied, distinct_device_data=distinct_device_data, user_agent_data=user_agent_data, folder_data=folder_data, diff --git a/templates/dashboard.html b/templates/dashboard.html index 83ddfe0..a4d2ec0 100644 --- a/templates/dashboard.html +++ b/templates/dashboard.html @@ -211,6 +211,7 @@ + {% for top20 in [top20_overall, top20_predigt, top20_chor, top20_ggesang, top20_glied] %}
Detaillierte Dateizugriffe (Top 20) @@ -226,7 +227,7 @@ - {% for row in rows %} + {% for row in top20 %} {{ row.rel_path }} {{ row.access_count }} @@ -242,6 +243,7 @@
+ {% endfor %} {% endblock %}