Your IP : 216.73.216.215


Current Path : /usr/lib/rads/venv/lib64/python3.13/site-packages/exim_analytics/
Upload File :
Current File : //usr/lib/rads/venv/lib64/python3.13/site-packages/exim_analytics/config.py

from typing import NamedTuple
import yaml


class ConfigData(NamedTuple):
    endpoint_url: str
    bearer_token: str
    tls_verify: bool = True
    timeout_connect: int = 5
    timeout_read: int = 15
    max_retries: int = 3
    retry_backoff_seconds: int = 2
    log_level: str = "INFO"
    log_path: str = "/var/log/mail_analytics.log"


data: ConfigData | None = None


def load_config(path: str):
    with open(path, "r", encoding="utf-8") as f:
        cfg = yaml.safe_load(f) or {}
    global data
    data = ConfigData(**cfg)
    return data