исправил получение данных по сезону на команды. обновляется один раз

This commit is contained in:
2025-10-29 14:23:49 +03:00
parent 764c50e42d
commit a97a28de6f

View File

@@ -491,6 +491,8 @@ def classify_game_state_from_status(status_raw: str) -> str:
return "finished"
if status in ("", "notstarted", "draft"):
return "upcoming"
# if status in ("scheduled"):
# return "scheduled"
# всё остальное считаем лайвом
return "live"
@@ -1792,6 +1794,7 @@ def Standing_func(
(comp.get("name") or "unknown_comp")
.replace(" ", "_")
.replace("|", "")
.replace("/", "")
)
if item.get("standings"):
@@ -1979,27 +1982,6 @@ def get_data_API(
if phase == "live":
# матч идёт → запускаем live_loop блокирующе
t = threading.Thread(
target=run_live_loop,
args=(league, season, game_id, lang, today_game["game"], stop_event),
daemon=False,
)
t.start()
logger.info("[get_data_API] live thread spawned, waiting for it to finish")
try:
t.join()
except KeyboardInterrupt:
logger.info(
"[get_data_API] KeyboardInterrupt while waiting live thread -> stop_event"
)
stop_event.set()
t.join()
logger.info("[get_data_API] live thread finished")
return "live_done"
if phase == "upcoming":
logger.info(
f"Матч {game_id} сегодня, но ещё не начался (status={effective_status}). Подготовка pregame."
)
@@ -2031,7 +2013,59 @@ def get_data_API(
logger.exception(
f"[get_data_API] ошибка при подготовке pregame для {game_id}: {e}"
)
t = threading.Thread(
target=run_live_loop,
args=(league, season, game_id, lang, today_game["game"], stop_event),
daemon=False,
)
t.start()
logger.info("[get_data_API] live thread spawned, waiting for it to finish")
try:
t.join()
except KeyboardInterrupt:
logger.info(
"[get_data_API] KeyboardInterrupt while waiting live thread -> stop_event"
)
stop_event.set()
t.join()
logger.info("[get_data_API] live thread finished")
return "live_done"
if phase == "upcoming":
logger.info(
f"Матч {game_id} сегодня, но ещё не начался (status={effective_status}). Подготовка pregame."
)
# дергаем pregame только один раз за матч
if not _pregame_done_for_game.get(game_id):
try:
pregame_raw = fetch_api_data(
session,
"pregame",
host=HOST,
league=league,
season=season,
game_id=game_id,
lang=lang,
)
Pregame_data(
pregame_raw=pregame_raw,
game_stub=today_game["game"],
)
_pregame_done_for_game[game_id] = True
logger.info(
f"[get_data_API] pregame данные собраны для game_id={game_id}"
)
except Exception as e:
logger.exception(
f"[get_data_API] ошибка при подготовке pregame для {game_id}: {e}"
)
# матч сегодня, ждём старта
return "upcoming"