from logger import getLogger from config import Config, TriggerTuple, MissingConfig class Trigger: def __init__(self, name: str, _config: Config) -> None: self.name = name self._config = _config self.log = getLogger('trigger', loglevel=_config.loglevel.upper()) self.log.info(f'initializing {self.__class__.__name__}') @property def config(self) -> TriggerTuple: _config = self._config.get_trigger_by_name(self.name) if _config is None: raise MissingConfig(f"Trigger {self.name} hasn't been properly configured") return _config