27 lines
755 B
Python
27 lines
755 B
Python
from __future__ import annotations
|
|
|
|
import os
|
|
from dataclasses import dataclass
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class Config:
|
|
database_url: str = os.getenv(
|
|
"DATABASE_URL",
|
|
"mysql+pymysql://switchbot:switchbot_password@localhost:3306/switchbot",
|
|
)
|
|
switchbot_token: str | None = os.getenv("SWITCHBOT_TOKEN")
|
|
switchbot_secret: str | None = os.getenv("SWITCHBOT_SECRET")
|
|
collect_interval_seconds: int = int(os.getenv("COLLECT_INTERVAL_SECONDS", "900"))
|
|
app_timezone: str = os.getenv("APP_TIMEZONE", "Europe/London")
|
|
flask_secret_key: str = os.getenv("FLASK_SECRET_KEY", "dev-only-secret")
|
|
healthcheck_url: str | None = os.getenv("HEALTHCHECK_URL")
|
|
|
|
|
|
config = Config()
|