23 lines
607 B
Python
23 lines
607 B
Python
from __future__ import annotations
|
|
|
|
import os
|
|
from dataclasses import dataclass
|
|
from pathlib import Path
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class Settings:
|
|
app_name: str = "smart-deploy-agent-demo"
|
|
app_env: str = os.getenv("APP_ENV", "demo")
|
|
app_port: int = int(os.getenv("APP_PORT", "8000"))
|
|
default_timezone: str = os.getenv("DEFAULT_TIMEZONE", "Asia/Shanghai")
|
|
database_url: str = os.getenv("DATABASE_URL", "sqlite:///./data/agent_demo.db")
|
|
|
|
|
|
def get_settings() -> Settings:
|
|
return Settings()
|
|
|
|
|
|
def ensure_runtime_directories() -> None:
|
|
Path("data").mkdir(parents=True, exist_ok=True)
|