import logging import os from pathlib import Path logging.basicConfig(level=logging.INFO, format="%(name)s: %(message)s") from dotenv import load_dotenv from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from backend.api.routes import router load_dotenv() _cors_env = os.getenv("CORS_ORIGINS", "*") _cors_origins: list[str] | str = ( "*" if _cors_env.strip() == "*" else [o.strip() for o in _cors_env.split(",") if o.strip()] ) app = FastAPI() app.add_middleware( CORSMiddleware, allow_origins=_cors_origins, allow_methods=["GET", "POST"], allow_headers=["Content-Type"], ) app.include_router(router, prefix="/api") Path("output").mkdir(exist_ok=True) app.mount("/output", StaticFiles(directory="output"), name="output")