добавил функцию Scores_Quarter

This commit is contained in:
2025-10-24 15:41:42 +03:00
parent 5ea03d2efc
commit c9613f91a3

View File

@@ -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Мониторинг не запускаю."