rework category

This commit is contained in:
lelo 2025-06-14 11:26:02 +00:00
parent 84bf7bae0c
commit 05782a0c33

View File

@ -84,30 +84,28 @@ def extract_structure_from_string(input_string):
# first part not a number # first part not a number
pass pass
if 'predig' in left_side.lower() or 'thema' in left_side.lower(): # define your mapping: category → list of trigger-words
category = 'Predigt' CATEGORY_KEYWORDS = {
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() or 'aufruf zum' in left_side.lower() or 'zuruf zum' in left_side.lower(): 'Predigt': ['predig', 'thema'],
category = 'Vorwort' 'Vorwort': ['wort', 'einladung', 'begrüßung', 'ansprache', 'einleitung', 'aufruf zum', 'zuruf zum'],
elif 'kinderchor' in left_side.lower(): 'Kinderchor': ['kinderchor'],
category = 'Kinderchor' 'Jugendchor': ['jugendchor'],
elif 'jugendchor' in left_side.lower(): 'Orchester': ['orchester', 'sinfonie', 'symphonie'],
category = 'Jugendchor' 'Chor': ['chor'],
elif 'orchester' in input_string.lower() or 'sinfonie' in input_string.lower() or 'symphonie' in input_string.lower(): 'Gemeinsamer Gesang': ['gemeinsam', 'gemeindelied', 'gemeinsamer gesang'],
category = 'Orchester' 'Gruppenlied': ['gruppenlied', 'jugend', 'lied', 'musikgruppe'],
elif 'chor' in left_side.lower(): 'Gedicht': ['gedicht'],
category = 'Chor' 'Erzählung': ['vortrag', 'erzä', 'program'],
elif 'gemeinsam' in left_side.lower() or 'gemeindelied' in left_side.lower() or 'gemeinsamer gesang' in input_string.lower(): 'Instrumental': ['instrumental', 'musikstück', 'harfenstück'],
category = 'Gemeinsamer Gesang' }
elif 'gruppenlied' in left_side.lower() or 'jugend' in left_side.lower() or 'lied' in left_side.lower() or 'musikgruppe' in left_side.lower():
category = 'Gruppenlied' # walk the dict in your desired priority order
elif 'gedicht' in left_side.lower():
category = 'Gedicht'
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'
else:
category = None category = None
text = left_side.lower()
for cat, keywords in CATEGORY_KEYWORDS.items():
if any(kw in text for kw in keywords):
category = cat
break
if right_side: if right_side:
titel, name = right_side.split('-', 1) if '-' in right_side else (right_side, None) titel, name = right_side.split('-', 1) if '-' in right_side else (right_side, None)