feat(pp-calculator): support other pp calculators (#57)

New configurations:

- CALCULATOR="rosu": specific pp calculator
- CALCULATOR_CONFIG='{}': argument passed through into calculator
This commit is contained in:
MingxuanGame
2025-10-18 19:10:53 +08:00
committed by GitHub
parent 563a30d28f
commit 8790ccad64
16 changed files with 496 additions and 189 deletions

View File

@@ -2,6 +2,7 @@ from contextlib import asynccontextmanager
import json
from pathlib import Path
from app.calculator import init_calculator
from app.config import settings
from app.database import User
from app.dependencies.database import (
@@ -58,10 +59,11 @@ import sentry_sdk
@asynccontextmanager
async def lifespan(app: FastAPI): # noqa: ARG001
# === on startup ===
# init mods and achievements
# init mods, achievements and performance calculator
init_mods()
init_ranked_mods()
load_achievements()
init_calculator()
# init rate limiter
await FastAPILimiter.init(redis_rate_limit_client)