Files
g0v0-server/app/service/load_achievements.py
2025-08-22 08:21:52 +00:00

19 lines
655 B
Python

from __future__ import annotations
import importlib
from app.log import logger
from app.models.achievement import MEDALS, Medals
from app.path import ACHIEVEMENTS_DIR
def load_achievements() -> Medals:
for module in ACHIEVEMENTS_DIR.iterdir():
if module.is_file() and module.suffix == ".py":
module_name = module.stem
module_achievements = importlib.import_module(f"app.achievements.{module_name}")
medals = getattr(module_achievements, "MEDALS", {})
MEDALS.update(medals)
logger.success(f"Successfully loaded {len(medals)} achievements from {module_name}.py")
return MEDALS