diff --git a/get_data.py b/get_data.py index 90712f1..15f6e8a 100644 --- a/get_data.py +++ b/get_data.py @@ -193,6 +193,7 @@ def start_live_threads(season, game_id): ), 600, stop_event_live, + True, ), daemon=True, ), @@ -205,6 +206,7 @@ def start_live_threads(season, game_id): ), 600, stop_event_live, + True, ), daemon=True, ), @@ -1436,15 +1438,18 @@ async def team(who: str): full_stat = get_latest_game_safe("pregame-full-stats") if not full_stat: - raise HTTPException(status_code=503, detail="pregame-full-stats data not ready") + # ⚠️ full_stat_data отсутствует — работаем только с game_data + logger.debug(f"[{who}] full_stat_data not found → continuing with game_data only") + full_stat_data = {} + else: + full_stat_data = full_stat["data"] if "data" in full_stat else full_stat # нормализуем доступ к данным game_data = game["data"] if "data" in game else game - full_stat_data = full_stat["data"] if "data" in full_stat else full_stat result = game_data[ "result" ] # здесь уже безопасно, мы проверили в get_latest_game_safe - result_full = full_stat_data["result"] + result_full = full_stat_data.get("result", {}) if full_stat_data else {} # в result ожидаем "teams" teams = result.get("teams") @@ -1455,10 +1460,10 @@ async def team(who: str): # выбираем команду if who == "team1": payload = next((t for t in teams if t.get("teamNumber") == 1), None) - payload_full = result_full.get("team1PlayersStats") + payload_full = result_full.get("team1PlayersStats") if result_full else [] else: payload = next((t for t in teams if t.get("teamNumber") == 2), None) - payload_full = result_full.get("team2PlayersStats") + payload_full = result_full.get("team2PlayersStats") if result_full else [] if payload is None: raise HTTPException(status_code=404, detail=f"{who} not found in game data")