исправил получение данных по сезону на команды. обновляется один раз
This commit is contained in:
76
get_data.py
76
get_data.py
@@ -491,6 +491,8 @@ def classify_game_state_from_status(status_raw: str) -> str:
|
|||||||
return "finished"
|
return "finished"
|
||||||
if status in ("", "notstarted", "draft"):
|
if status in ("", "notstarted", "draft"):
|
||||||
return "upcoming"
|
return "upcoming"
|
||||||
|
# if status in ("scheduled"):
|
||||||
|
# return "scheduled"
|
||||||
# всё остальное считаем лайвом
|
# всё остальное считаем лайвом
|
||||||
return "live"
|
return "live"
|
||||||
|
|
||||||
@@ -1792,6 +1794,7 @@ def Standing_func(
|
|||||||
(comp.get("name") or "unknown_comp")
|
(comp.get("name") or "unknown_comp")
|
||||||
.replace(" ", "_")
|
.replace(" ", "_")
|
||||||
.replace("|", "")
|
.replace("|", "")
|
||||||
|
.replace("/", "")
|
||||||
)
|
)
|
||||||
|
|
||||||
if item.get("standings"):
|
if item.get("standings"):
|
||||||
@@ -1979,27 +1982,6 @@ def get_data_API(
|
|||||||
|
|
||||||
if phase == "live":
|
if phase == "live":
|
||||||
# матч идёт → запускаем live_loop блокирующе
|
# матч идёт → запускаем 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(
|
logger.info(
|
||||||
f"Матч {game_id} сегодня, но ещё не начался (status={effective_status}). Подготовка pregame."
|
f"Матч {game_id} сегодня, но ещё не начался (status={effective_status}). Подготовка pregame."
|
||||||
)
|
)
|
||||||
@@ -2031,7 +2013,59 @@ def get_data_API(
|
|||||||
logger.exception(
|
logger.exception(
|
||||||
f"[get_data_API] ошибка при подготовке pregame для {game_id}: {e}"
|
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"
|
return "upcoming"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user