исправлено передача синих логотипов для Зенит/Динамо и логотипы каналов не должны отображаться, когда у матча уже есть счет
This commit is contained in:
16
app.py
16
app.py
@@ -35,7 +35,13 @@ from parsers.parser_players import run_parser_players
|
|||||||
from parsers.parser_schedule import run_parser_schedule
|
from parsers.parser_schedule import run_parser_schedule
|
||||||
from parsers.parser_standings import run_parser_standings
|
from parsers.parser_standings import run_parser_standings
|
||||||
from parsers.parser_teams import run_parser_teams
|
from parsers.parser_teams import run_parser_teams
|
||||||
from parsers.parser_sources import build_empty_photo_path, build_channel_logo_path, build_empty_channel_logo_path, list_parser_sources, get_default_source_key, get_parser_source
|
from parsers.parser_sources import (
|
||||||
|
build_empty_photo_path,
|
||||||
|
build_schedule_channel_logo_path,
|
||||||
|
list_parser_sources,
|
||||||
|
get_default_source_key,
|
||||||
|
get_parser_source,
|
||||||
|
)
|
||||||
from services.project_settings_service import build_project_settings_context, save_project_settings
|
from services.project_settings_service import build_project_settings_context, save_project_settings
|
||||||
from repositories.project_settings_repository import ensure_project_settings_tables
|
from repositories.project_settings_repository import ensure_project_settings_tables
|
||||||
|
|
||||||
@@ -1850,9 +1856,11 @@ def vmix_schedule(session_token: str):
|
|||||||
"#FFFFFF00" if row[2] is None and row[3] is None else "#FFFFFF"
|
"#FFFFFF00" if row[2] is None and row[3] is None else "#FFFFFF"
|
||||||
),
|
),
|
||||||
"channel": (
|
"channel": (
|
||||||
build_channel_logo_path(row[8] if len(row) > 8 else None, row[7])
|
build_schedule_channel_logo_path(
|
||||||
if str(row[7] or "").strip()
|
row[8] if len(row) > 8 else None,
|
||||||
else build_empty_channel_logo_path(row[8] if len(row) > 8 else None)
|
row[7],
|
||||||
|
has_score=(row[2] is not None or row[3] is not None),
|
||||||
|
)
|
||||||
),
|
),
|
||||||
"channel_value": row[7] or "",
|
"channel_value": row[7] or "",
|
||||||
"source_key": row[8] if len(row) > 8 else "",
|
"source_key": row[8] if len(row) > 8 else "",
|
||||||
|
|||||||
@@ -270,3 +270,22 @@ def build_channel_logo_path(source_key: str | None, filename: str | None) -> str
|
|||||||
|
|
||||||
def build_empty_channel_logo_path(source_key: str | None = None) -> str:
|
def build_empty_channel_logo_path(source_key: str | None = None) -> str:
|
||||||
return build_channel_logo_path(source_key, "EMPTY.png")
|
return build_channel_logo_path(source_key, "EMPTY.png")
|
||||||
|
|
||||||
|
|
||||||
|
def build_schedule_channel_logo_path(
|
||||||
|
source_key: str | None,
|
||||||
|
channel: str | None,
|
||||||
|
has_score: bool,
|
||||||
|
) -> str:
|
||||||
|
"""Возвращает логотип канала для расписания vMix.
|
||||||
|
|
||||||
|
После появления счёта логотип канала должен быть скрыт, даже если канал
|
||||||
|
остался отмечен в расписании.
|
||||||
|
"""
|
||||||
|
if has_score:
|
||||||
|
return build_empty_channel_logo_path(source_key)
|
||||||
|
|
||||||
|
if str(channel or "").strip():
|
||||||
|
return build_channel_logo_path(source_key, channel)
|
||||||
|
|
||||||
|
return build_empty_channel_logo_path(source_key)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import secrets
|
import secrets
|
||||||
|
|
||||||
from db import get_connection
|
from db import get_connection
|
||||||
from parsers.parser_sources import build_logo_path
|
from parsers.parser_sources import build_logo_variant_path
|
||||||
from repositories.match_repository import resolve_match_source_key
|
from repositories.match_repository import resolve_match_source_key
|
||||||
|
|
||||||
|
|
||||||
@@ -92,8 +92,12 @@ def get_match_session_by_token(session_token: str):
|
|||||||
source_key = resolve_match_source_key(row[1], row[21] if len(row) > 21 else None)
|
source_key = resolve_match_source_key(row[1], row[21] if len(row) > 21 else None)
|
||||||
if len(row) > 21:
|
if len(row) > 21:
|
||||||
row[21] = source_key
|
row[21] = source_key
|
||||||
row[16] = build_logo_path(source_key, row[16])
|
# Эти пути используются рабочей страницей при отправке команд
|
||||||
row[20] = build_logo_path(source_key, row[20])
|
# SetImage через agent.exe для нейтральных титров. Для «Динамо» и
|
||||||
|
# «Зенита» в титрах нужен синий вариант логотипа; остальные команды
|
||||||
|
# остаются без изменений.
|
||||||
|
row[16] = build_logo_variant_path(source_key, row[16], "blue")
|
||||||
|
row[20] = build_logo_variant_path(source_key, row[20], "blue")
|
||||||
return tuple(row)
|
return tuple(row)
|
||||||
finally:
|
finally:
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user