22 lines
673 B
Python
22 lines
673 B
Python
from dataclasses import dataclass
|
|
|
|
from ..constants import (ALERTS_DEFAULT_DELAY_MINUTES, DEFAULT_DELAY_MINUTES, DEFAULT_POLL_INTERVAL,
|
|
MAX_DELAY_MINUTES, MIN_POLL_INTERVAL, POLL_INTERVAL)
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class PollOptions:
|
|
interval: int
|
|
default_delay_minutes: int
|
|
|
|
|
|
def read_default_delay(store) -> int:
|
|
return min(store.get_int(ALERTS_DEFAULT_DELAY_MINUTES, DEFAULT_DELAY_MINUTES), MAX_DELAY_MINUTES)
|
|
|
|
|
|
def read_poll_options(store) -> PollOptions:
|
|
return PollOptions(
|
|
interval=store.get_int(POLL_INTERVAL, DEFAULT_POLL_INTERVAL, MIN_POLL_INTERVAL),
|
|
default_delay_minutes=read_default_delay(store),
|
|
)
|