test16
This commit is contained in:
@@ -409,6 +409,45 @@ def run_live_loop(
|
||||
render_thread.join()
|
||||
logger.info(f"[LIVE_THREAD] stop live loop for game_id={game_id}")
|
||||
|
||||
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"]
|
||||
|
||||
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.")
|
||||
|
||||
# Если нет 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 = "scores"
|
||||
atomic_write_json(out_path, score_by_quarter)
|
||||
logging.info("Сохранил payload: {out_path}")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка в Scores_Quarter: {e}", exc_info=True)
|
||||
|
||||
|
||||
|
||||
def poll_game_live(
|
||||
session,
|
||||
@@ -1546,6 +1585,7 @@ def render_loop(stop_event: threading.Event, out_name: str = "game"):
|
||||
Team_Both_Stat(state)
|
||||
Json_Team_Generation(state, who="team1")
|
||||
Json_Team_Generation(state, who="team2")
|
||||
Scores_Quarter(state)
|
||||
atomic_write_json([state["result"]["live_status"]], "live_status")
|
||||
atomic_write_json(state["result"], out_name)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user