added config to Trigger

This commit is contained in:
2024-12-07 16:26:42 +01:00
parent 860d19097b
commit 9710a19dbf
3 changed files with 23 additions and 6 deletions
+9 -1
View File
@@ -3,7 +3,7 @@ from pathlib import Path
from lxml import etree
from functools import cached_property
from arguments import ArgumentsParser
from typing import NamedTuple
from typing import NamedTuple, Optional
class TriggerTuple(NamedTuple):
@@ -11,6 +11,10 @@ class TriggerTuple(NamedTuple):
interval_in_seconds: int
class MissingConfig(Exception):
pass
class Config:
def __init__(self, basepath: Path) -> None:
self.basepath = basepath
@@ -57,3 +61,7 @@ class Config:
)
return ret_val
def get_trigger_by_name(self, name: str) -> Optional[TriggerTuple]:
_all_trigger_tuples = self.triggertuples.copy()
return next((t for t in _all_trigger_tuples if t.name == name), None)
+12 -3
View File
@@ -1,9 +1,18 @@
from logger import getLogger
from config import Config
from config import Config, TriggerTuple, MissingConfig
class Trigger:
def __init__(self, name: str, config: Config) -> None:
def __init__(self, name: str, _config: Config) -> None:
self.name = name
self.log = getLogger('trigger', loglevel=config.loglevel.upper())
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 configures")
return _config
+2 -2
View File
@@ -2,6 +2,6 @@ from trigger import Trigger
from config import Config
class RoonTrigger(Trigger):
def __init__(self, name: str, config: Config) -> None:
super().__init__(name, config)
def __init__(self, name: str, _config: Config) -> None:
super().__init__(name, _config)