31 lines
919 B
Python
31 lines
919 B
Python
import os
|
|
from dataclasses import dataclass
|
|
|
|
|
|
@dataclass
|
|
class Config:
|
|
# Database
|
|
DB_HOST: str = os.getenv("POSTGRES_HOST", "fr24-postgres")
|
|
DB_PORT: int = int(os.getenv("POSTGRES_PORT", "5432"))
|
|
DB_NAME: str = os.getenv("POSTGRES_DB", "fr24")
|
|
DB_USER: str = os.getenv("POSTGRES_USER", "fr24")
|
|
DB_PASSWORD: str = os.getenv("POSTGRES_PASSWORD", "change-me")
|
|
|
|
# FlightAware AeroAPI
|
|
FA_API_KEY: str = os.getenv("FLIGHTAWARE_API_KEY", "")
|
|
FA_API_BASE: str = "https://aeroapi.flightaware.com/aeroapi"
|
|
|
|
# Rate limit: conservative for Personal tier (500 req/month)
|
|
RATE_LIMIT_SEC: float = float(os.getenv("FA_RATE_LIMIT_SEC", "2.0"))
|
|
|
|
@property
|
|
def DB_DSN(self) -> str:
|
|
return (
|
|
f"host={self.DB_HOST} port={self.DB_PORT} "
|
|
f"dbname={self.DB_NAME} user={self.DB_USER} "
|
|
f"password={self.DB_PASSWORD}"
|
|
)
|
|
|
|
|
|
config = Config()
|