подгрузка данных для api из env
This commit is contained in:
@@ -3945,18 +3945,44 @@ class HockeyDataService:
|
||||
raise
|
||||
schedule_warning = str(error)
|
||||
|
||||
payload = await self.sync_match_details(
|
||||
tournament_external_id=tournament_external_id,
|
||||
game_external_id=game_external_id,
|
||||
language=language,
|
||||
allow_create=True,
|
||||
force_optional_shots=True,
|
||||
)
|
||||
details_warning = ""
|
||||
try:
|
||||
# Opening a match must not depend on every optional Stat2TV resource.
|
||||
# Some schedule entries exist before/without a full match JSON card.
|
||||
# Keep the operator UI usable and enrich the selected match when the
|
||||
# card becomes available instead of failing the whole selection.
|
||||
payload = await asyncio.wait_for(
|
||||
self.sync_match_details(
|
||||
tournament_external_id=tournament_external_id,
|
||||
game_external_id=game_external_id,
|
||||
language=language,
|
||||
allow_create=True,
|
||||
force_optional_shots=True,
|
||||
),
|
||||
timeout=12.0,
|
||||
)
|
||||
except Exception as error:
|
||||
details_warning = str(error)
|
||||
payload = self.game_details(game_external_id, language=language)
|
||||
if payload is None:
|
||||
raise
|
||||
payload = dict(payload)
|
||||
payload.update({
|
||||
"ok": True,
|
||||
"degraded": True,
|
||||
"details_sync_failed": True,
|
||||
"shots": {"available": False},
|
||||
})
|
||||
|
||||
payload["schedule"] = schedule
|
||||
if schedule_warning:
|
||||
payload.setdefault("warnings", []).append(
|
||||
f"Расписание не обновлено: {schedule_warning}"
|
||||
)
|
||||
if details_warning:
|
||||
payload.setdefault("warnings", []).append(
|
||||
f"Полная карточка матча пока недоступна: {details_warning}"
|
||||
)
|
||||
return payload
|
||||
|
||||
@staticmethod
|
||||
|
||||
Reference in New Issue
Block a user