Spaces:
Sleeping
Sleeping
from dotenv import load_dotenv | |
load_dotenv() | |
from fastapi import FastAPI, Request | |
from fastapi.responses import FileResponse, HTMLResponse | |
from fastapi.staticfiles import StaticFiles | |
from fastapi.middleware.cors import CORSMiddleware | |
from narrate_description import router as narrate_description_router | |
app = FastAPI() | |
# Add CORS middleware to allow WebSocket connections | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=["*"], # Allows all origins | |
allow_credentials=True, | |
allow_methods=["*"], # Allows all methods | |
allow_headers=["*"], # Allows all headers | |
) | |
app.include_router(narrate_description_router) | |
app.mount("/static", StaticFiles(directory="static"), name="static") | |
app.mount("/templates", StaticFiles(directory="templates"), name="templates") | |
async def get_root(request: Request): | |
return FileResponse('templates/main.html') | |
if __name__ == "__main__": | |
import uvicorn | |
uvicorn.run(app, host="0.0.0.0", port=7860) # Use port 7860 for Hugging Face Spaces compatibility | |