From 7af0dd0496adbe8d010538c2fe17b76ed6f56d0d Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 30 May 2026 06:00:34 +0000 Subject: [PATCH] Fix on_event deprecation, use lifespan handler FastAPI 0.93+ deprecates @app.on_event; replaced with @asynccontextmanager lifespan pattern. Also cleaned up unused stdlib imports. https://claude.ai/code/session_01JuRTR5Xjx8emQsyerBgGU7 --- main.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index e9a2205..6cbe255 100644 --- a/main.py +++ b/main.py @@ -4,10 +4,8 @@ Admin configuration: edit the CONFIG dict below. """ import sqlite3 -import hashlib -import time import os -from contextlib import contextmanager +from contextlib import contextmanager, asynccontextmanager from datetime import datetime, timezone from pathlib import Path @@ -122,17 +120,18 @@ def format_amount(pence: int) -> str: # FastAPI app # --------------------------------------------------------------------------- -app = FastAPI(title=CONFIG["club_name"]) +@asynccontextmanager +async def lifespan(app: FastAPI): + init_db() + yield + +app = FastAPI(title=CONFIG["club_name"], lifespan=lifespan) # Serve static files static_dir = Path(__file__).parent / "static" static_dir.mkdir(exist_ok=True) app.mount("/static", StaticFiles(directory=str(static_dir)), name="static") -@app.on_event("startup") -def on_startup(): - init_db() - # --------------------------------------------------------------------------- # Pydantic models # ---------------------------------------------------------------------------