Пример #1
0
 def _prepare_eligible_events(self, event_filters: List[str]):
     """Prepare an event filter list."""
     eligible_events = {"Birth", "Death"}
     event_type = EventType()
     default_event_types = event_type.get_standard_xml()
     default_event_map = event_type.get_map()
     custom_event_types = self.db_handle.get_event_types()
     for key in event_filters:
         if key in default_event_types:
             eligible_events.add(key)
             continue
         if key in custom_event_types:
             eligible_events.add(key)
             continue
         if key not in EVENT_CATEGORIES:
             raise ValueError(
                 f"{key} is not a valid event or event category")
     for entry in event_type.get_menu_standard_xml():
         event_key = entry[0].lower().replace("life events", "vital")
         if event_key in event_filters:
             for event_id in entry[1]:
                 if event_id in default_event_map:
                     eligible_events.add(default_event_map[event_id])
             break
     if "custom" in event_filters:
         for event_name in custom_event_types:
             eligible_events.add(event_name)
     return eligible_events