Files
zeus-filter/app/filter.py
2026-03-16 08:30:05 +01:00

32 lines
876 B
Python

from ics import Calendar
td_titles = ["TD"]
sh_titles = ["ANGLAIS", "Anglais", "ETHIQUE"]
def _filter_group(name: str, titles: list[str], group: str) -> bool | None:
for title in titles:
if title in name:
return "Examen" in name or group == "all" or group in name
return None
def _filter_event(name: str, td_group: str, sh_group: str) -> bool:
res = _filter_group(name, sh_titles, sh_group)
if res:
return True
elif res == None:
if _filter_group(name, td_titles, td_group) != False:
return True
return False
def filter_calendar(calendar: Calendar, td_group: str, sh_group: str) -> Calendar:
filtered_calendar = Calendar()
for event in calendar.events:
if _filter_event(event.name, td_group, sh_group):
filtered_calendar.events.add(event)
return filtered_calendar