Профиль: «Основная фракция» — самая игранная с учётом рандома

Под любимой (только ручной выбор) — основная: max по всем партиям,
включая рандомные раздачи. Есть у любого сыгравшего игрока.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 21:12:18 +03:00
co-authored by Claude Fable 5
parent e7323cc3c4
commit 9ce501dd11
5 changed files with 14 additions and 0 deletions
+3
View File
@@ -206,6 +206,8 @@ def profile_stats(session: Session, user_id: int, group_id: int | None = None) -
# рандомная раздача о предпочтениях не говорит. Нет ручных выборов — нет любимой.
chosen = [f for f in factions if f["chosen_games"] > 0]
most_played = max(chosen, key=lambda f: f["chosen_games"]) if chosen else None
# Основная — просто самая игранная, включая рандомные раздачи.
main = max(factions, key=lambda f: f["games"]) if factions else None
return {
"user_id": user_id,
"overall": overall,
@@ -213,6 +215,7 @@ def profile_stats(session: Session, user_id: int, group_id: int | None = None) -
"best_faction": best,
"worst_faction": worst,
"most_played_faction": most_played,
"main_faction": main,
"recent_form": _recent_form(session, user_id, group_id),
"min_games": MIN_GAMES,
}