import os from functools import lru_cache class Config: def __init__(self) -> None: self.secret_key: str = os.environ.get("SECRET_KEY", "") self.database_url: str = os.environ.get("DATABASE_URL", "sqlite:////data/db.sqlite3") self.master_url: str | None = os.environ.get("MASTER_URL") self.master_token: str | None = os.environ.get("MASTER_TOKEN") @property def db_path(self) -> str: url = self.database_url if url.startswith("sqlite:////"): return "/" + url[len("sqlite:////"):] if url.startswith("sqlite:///"): return url[len("sqlite:///"):] return url @lru_cache def get_config() -> Config: return Config()