fix(solo-score): fix submit solo-score & Bigint

This commit is contained in:
MingxuanGame
2025-07-27 04:11:41 +00:00
parent 0b8beade5d
commit ec241ac200
11 changed files with 225 additions and 46 deletions

View File

@@ -3,7 +3,7 @@ from __future__ import annotations
from enum import Enum
from typing import Literal, TypedDict
from .mods import API_MOD_TO_LEGACY, API_MODS, APIMod, init_mods
from .mods import API_MODS, APIMod, init_mods
from pydantic import BaseModel, Field, ValidationInfo, field_validator
import rosu_pp_py as rosu
@@ -109,7 +109,7 @@ class SoloScoreSubmissionInfo(BaseModel):
@field_validator("mods", mode="after")
@classmethod
def validate_mods(cls, mods: list[APIMod], info: ValidationInfo):
if not API_MOD_TO_LEGACY:
if not API_MODS:
init_mods()
incompatible_mods = set()
# check incompatible mods
@@ -122,6 +122,7 @@ class SoloScoreSubmissionInfo(BaseModel):
if not setting_mods:
raise ValueError(f"Invalid mod: {mod['acronym']}")
incompatible_mods.update(setting_mods["IncompatibleMods"])
return mods
class LegacyReplaySoloScoreInfo(TypedDict):