more categories
This commit is contained in:
parent
78125af0e1
commit
940984e34f
20
analytics.py
20
analytics.py
@ -400,12 +400,14 @@ def dashboard():
|
|||||||
for rel_path, access_count in rows
|
for rel_path, access_count in rows
|
||||||
]
|
]
|
||||||
|
|
||||||
top20_overall = rows[:20]
|
categories = set(r['category'] for r in rows) # distinct categories
|
||||||
top20_predigt = [r for r in rows if r['category'] == 'Predigt'][:20]
|
top20 = [
|
||||||
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]
|
'category': categorie,
|
||||||
top20_glied = [r for r in rows if r['category'] == 'Gruppenlied'][:20]
|
'files': [r for r in rows if r['category'] == categorie][:20]
|
||||||
|
}
|
||||||
|
for categorie in categories
|
||||||
|
]
|
||||||
|
|
||||||
# 2. Distinct device trend
|
# 2. Distinct device trend
|
||||||
# We'll group by hour if "today", by day if "7days"/"30days", by month if "365days"
|
# We'll group by hour if "today", by day if "7days"/"30days", by month if "365days"
|
||||||
@ -612,11 +614,7 @@ def dashboard():
|
|||||||
return render_template(
|
return render_template(
|
||||||
"dashboard.html",
|
"dashboard.html",
|
||||||
timeframe=session['timeframe'],
|
timeframe=session['timeframe'],
|
||||||
top20_overall = top20_overall,
|
top20 = top20,
|
||||||
top20_predigt = top20_predigt,
|
|
||||||
top20_chor = top20_chor,
|
|
||||||
top20_ggesang = top20_ggesang,
|
|
||||||
top20_glied = top20_glied,
|
|
||||||
distinct_device_data=distinct_device_data,
|
distinct_device_data=distinct_device_data,
|
||||||
user_agent_data=user_agent_data,
|
user_agent_data=user_agent_data,
|
||||||
folder_data=folder_data,
|
folder_data=folder_data,
|
||||||
|
|||||||
9
app.py
9
app.py
@ -279,13 +279,14 @@ def api_browse(subpath):
|
|||||||
foldernames = []
|
foldernames = []
|
||||||
files = []
|
files = []
|
||||||
split_path = subpath.split('/')
|
split_path = subpath.split('/')
|
||||||
|
|
||||||
|
valid_categories = ['Predigt', 'Erzählung', 'Gedicht', 'Gemeinsamer Gesang', 'Chor', 'Kinderchor', 'Jugendchor', 'Orchester', 'Instrumental', 'Gruppenlied']
|
||||||
|
|
||||||
if len(split_path) == 1 and split_path[0] == 'toplist':
|
if len(split_path) == 1 and split_path[0] == 'toplist':
|
||||||
foldernames = [
|
foldernames = [
|
||||||
{'name': 'Predigten', 'path': 'toplist/Predigt'},
|
{
|
||||||
{'name': 'Chorlieder', 'path': 'toplist/Chor'},
|
'name': categorie, 'path': 'toplist/' + categorie
|
||||||
{'name': 'Gemeinsamer Gesang', 'path': 'toplist/Gemeinsamer Gesang'},
|
} for categorie in valid_categories
|
||||||
{'name': 'Gruppenlieder', 'path': 'toplist/Gruppenlied'},
|
|
||||||
]
|
]
|
||||||
elif len(split_path) > 1 and split_path[0] == 'toplist':
|
elif len(split_path) > 1 and split_path[0] == 'toplist':
|
||||||
files = hf.generate_top_list(split_path[1])
|
files = hf.generate_top_list(split_path[1])
|
||||||
|
|||||||
@ -67,19 +67,25 @@ def extract_structure_from_string(input_string):
|
|||||||
|
|
||||||
if 'predig' in left_side.lower():
|
if 'predig' in left_side.lower():
|
||||||
category = 'Predigt'
|
category = 'Predigt'
|
||||||
elif 'wort' in left_side.lower() or 'einladung' in left_side.lower():
|
elif 'wort' in left_side.lower() or 'einladung' in left_side.lower() or 'begrüßung' in left_side.lower() or 'ansprache' in left_side.lower() or 'einleitung' in left_side.lower():
|
||||||
category = 'Vorwort'
|
category = 'Vorwort'
|
||||||
|
elif 'kinderchor' in left_side.lower():
|
||||||
|
category = 'Kinderchor'
|
||||||
|
elif 'jugendchor' in left_side.lower():
|
||||||
|
category = 'Jugendchor'
|
||||||
|
elif 'orchester' in input_string.lower() or 'sinfonie' in input_string.lower() or 'symphonie' in input_string.lower():
|
||||||
|
category = 'Orchester'
|
||||||
elif 'chor' in left_side.lower():
|
elif 'chor' in left_side.lower():
|
||||||
category = 'Chor'
|
category = 'Chor'
|
||||||
elif 'orchester' in left_side.lower():
|
elif 'gemeinsam' in left_side.lower() or 'gemeindelied' in left_side.lower() or 'gemeinsamer gesang' in input_string.lower():
|
||||||
category = 'Orchester'
|
|
||||||
elif 'gruppenlied' in left_side.lower() or 'jugendlied' in left_side.lower():
|
|
||||||
category = 'Gruppenlied'
|
|
||||||
elif 'gemeinsam' in left_side.lower() or 'gesang' in left_side.lower() or 'lied' in left_side.lower():
|
|
||||||
category = 'Gemeinsamer Gesang'
|
category = 'Gemeinsamer Gesang'
|
||||||
|
elif 'gruppenlied' in left_side.lower() or 'jugend' in left_side.lower() or 'lied' in left_side.lower():
|
||||||
|
category = 'Gruppenlied'
|
||||||
elif 'gedicht' in left_side.lower():
|
elif 'gedicht' in left_side.lower():
|
||||||
category = 'Gedicht'
|
category = 'Gedicht'
|
||||||
elif 'instrumental' in left_side.lower() or 'musikstück' in left_side.lower():
|
elif 'vortrag' in left_side.lower() or 'erzä' in left_side.lower() or 'program' in left_side.lower():
|
||||||
|
category = 'Erzählung'
|
||||||
|
elif 'instrumental' in input_string.lower() or 'musikstück' in left_side.lower() or 'harfenstück' in left_side.lower():
|
||||||
category = 'Instrumental'
|
category = 'Instrumental'
|
||||||
else:
|
else:
|
||||||
category = None
|
category = None
|
||||||
|
|||||||
@ -211,38 +211,25 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Detailed Table of Top File Accesses -->
|
<!-- Detailed Table of Top File Accesses -->
|
||||||
{% for top20 in [top20_overall, top20_predigt, top20_chor, top20_ggesang, top20_glied] %}
|
{% for top20_item in top20 %}
|
||||||
<div class="card mb-4">
|
<div class="card mb-4">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
Top 20 Dateizugriffe
|
Top 20 Dateizugriffe ({{ top20_item['category'] }})
|
||||||
{% if top20 == top20_overall %}
|
|
||||||
(Gesamt)
|
|
||||||
{% elif top20 == top20_predigt %}
|
|
||||||
(Predigt)
|
|
||||||
{% elif top20 == top20_chor %}
|
|
||||||
(Chor)
|
|
||||||
{% elif top20 == top20_ggesang %}
|
|
||||||
(Gemeinsamer Gesang)
|
|
||||||
{% elif top20 == top20_glied %}
|
|
||||||
(Gruppenlieder)
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>File Path</th>
|
|
||||||
<th>Access Count</th>
|
<th>Access Count</th>
|
||||||
<th>Kategorie</th>
|
<th>File Path</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for row in top20 %}
|
{% for row in top20_item['files'] %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ row.rel_path }}</td>
|
|
||||||
<td>{{ row.access_count }}</td>
|
<td>{{ row.access_count }}</td>
|
||||||
<td>{{ row.category }}</td>
|
<td>{{ row.rel_path }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% else %}
|
{% else %}
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user