From c9613f91a3bf0ce66bb8e4357da9447c7b4d24e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9=20=D0=A7=D0=B5=D1=80=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Fri, 24 Oct 2025 15:41:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8E=20Scores=5FQuarter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- get_data.py | 73 +++++++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/get_data.py b/get_data.py index 436eefb..ca35c26 100644 --- a/get_data.py +++ b/get_data.py @@ -1442,46 +1442,45 @@ def Referee(merged: dict, *, out_dir: str = "static") -> None: logger.error(f"Ошибка в Referee потоке: {e}", exc_info=True) -# def Scores_Quarter(merged: dict, *, out_dir: str = "static") -> None: -# """ -# Поток, обновляющий JSON со счётом по четвертям. -# """ -# logger.info("START making json for scores quarter") +def Scores_Quarter(merged: dict, *, out_dir: str = "static") -> None: + """ + Поток, обновляющий JSON со счётом по четвертям. + """ + logger.info("START making json for scores quarter") -# quarters = ["Q1", "Q2", "Q3", "Q4", "OT1", "OT2", "OT3", "OT4"] + quarters = ["Q1", "Q2", "Q3", "Q4", "OT1", "OT2", "OT3", "OT4"] -# rewrite_file("game_online", game_data) + score_by_quarter = [{"Q": q, "score1": "", "score2": ""} for q in quarters] + try: + # Сначала пробуем fullScore + full_score_str = ( + merged.get("result", {}).get("game", {}).get("fullScore", "") + ) + if full_score_str: + full_score_list = full_score_str.split(",") + for i, score_str in enumerate(full_score_list[: len(score_by_quarter)]): + parts = score_str.split(":") + if len(parts) == 2: + score_by_quarter[i]["score1"] = parts[0] + score_by_quarter[i]["score2"] = parts[1] + logger.info("Счёт по четвертям получен из fullScore.") -# score_by_quarter = [{"Q": q, "score1": "", "score2": ""} for q in quarters] + # Если нет fullScore, пробуем scoreByPeriods + elif "scoreByPeriods" in merged.get("result", {}): + periods = merged["result"]["scoreByPeriods"] + for i, score in enumerate(periods[: len(score_by_quarter)]): + score_by_quarter[i]["score1"] = str(score.get("score1", "")) + score_by_quarter[i]["score2"] = str(score.get("score2", "")) + logger.info("Счёт по четвертям получен из scoreByPeriods.") + else: + logger.debug("Нет данных по счёту, сохраняем пустые значения.") + + out_path = Path(out_dir) / "scores.json" + atomic_write_json(out_path, score_by_quarter) + logging.info("Сохранил payload: {out_path}") -# # Сначала пробуем fullScore -# full_score_str = ( -# game_data.get("result", {}).get("game", {}).get("fullScore", "") -# ) -# if full_score_str: -# full_score_list = full_score_str.split(",") -# for i, score_str in enumerate(full_score_list[: len(score_by_quarter)]): -# parts = score_str.split(":") -# if len(parts) == 2: -# score_by_quarter[i]["score1"] = parts[0] -# score_by_quarter[i]["score2"] = parts[1] -# logger.debug("Счёт по четвертям получен из fullScore.") - -# # Если нет fullScore, пробуем scoreByPeriods -# elif "scoreByPeriods" in game_data.get("result", {}): -# periods = game_data["result"]["scoreByPeriods"] -# for i, score in enumerate(periods[: len(score_by_quarter)]): -# score_by_quarter[i]["score1"] = str(score.get("score1", "")) -# score_by_quarter[i]["score2"] = str(score.get("score2", "")) -# logger.debug("Счёт по четвертям получен из scoreByPeriods.") - -# else: -# logger.debug("Нет данных по счёту, сохраняем пустые значения.") - -# rewrite_file("scores", score_by_quarter) - -# except Exception as e: -# logger.error(f"Ошибка в Scores_Quarter: {e}", exc_info=True) + except Exception as e: + logger.error(f"Ошибка в Scores_Quarter: {e}", exc_info=True) # ========================== @@ -1583,6 +1582,7 @@ class PostProcessor: Json_Team_Generation(merged, out_dir="static", who="team2") Team_Both_Stat(merged, out_dir="static") Referee(merged, out_dir="static") + Scores_Quarter(merged, out_dir="static") except Exception as e: logging.exception(f"Postproc failed: {e}") @@ -1887,6 +1887,7 @@ def main(): Json_Team_Generation(merged, out_dir="static", who="team2") Team_Both_Stat(merged, out_dir="static") Referee(merged, out_dir="static") + Scores_Quarter(merged, out_dir="static") # print(merged) logger.info( f"Сегодня у {team} нет игры.\nПоследняя сыгранная: gameID={game_id}.\nМониторинг не запускаю."