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