попытка починить амлуа для передачи данных в vMix

This commit is contained in:
2026-04-22 12:54:08 +03:00
parent 92b1287485
commit 55e680fce8
2 changed files with 15 additions and 6 deletions

View File

@@ -186,7 +186,8 @@ def mark_match_parse_error(external_id: str, error_text: str) -> None:
def get_player_id_by_name_and_team(full_name: str, team_id: int) -> int | None:
query = """
SELECT id
SELECT id,
position
FROM players
WHERE team_id = %s
AND LOWER(full_name) = LOWER(%s)
@@ -198,7 +199,7 @@ def get_player_id_by_name_and_team(full_name: str, team_id: int) -> int | None:
with conn.cursor() as cur:
cur.execute(query, (team_id, full_name.strip()))
row = cur.fetchone()
return row[0] if row else None
return row if row else None
finally:
conn.close()

View File

@@ -38,12 +38,13 @@ def sync_match_page(
lineup_rows = []
for player in home_starting:
player_id = None
player_position = None
if player.get("player_external_id"):
player_id = get_player_id_by_external_id(player["player_external_id"])
if player_id is None:
player_id = get_player_id_by_name_and_team(
player_id, player_position = get_player_id_by_name_and_team(
player["player_name"], home_team_id
)
@@ -55,6 +56,7 @@ def sync_match_page(
"player_name": player["player_name"],
"number": player.get("number"),
"position": player.get("position"),
"position_full": player_position,
"is_captain": bool(player.get("is_captain")),
"lineup_type": "starting",
"source": "parser",
@@ -63,12 +65,13 @@ def sync_match_page(
for player in away_starting:
player_id = None
player_position = None
if player.get("player_external_id"):
player_id = get_player_id_by_external_id(player["player_external_id"])
if player_id is None:
player_id = get_player_id_by_name_and_team(
player_id, player_position = get_player_id_by_name_and_team(
player["player_name"], away_team_id
)
@@ -80,6 +83,7 @@ def sync_match_page(
"player_name": player["player_name"],
"number": player.get("number"),
"position": player.get("position"),
"position_full": player_position,
"is_captain": bool(player.get("is_captain")),
"lineup_type": "starting",
"source": "parser",
@@ -88,12 +92,13 @@ def sync_match_page(
for player in home_bench:
player_id = None
player_position = None
if player.get("player_external_id"):
player_id = get_player_id_by_external_id(player["player_external_id"])
if player_id is None:
player_id = get_player_id_by_name_and_team(
player_id, player_position = get_player_id_by_name_and_team(
player["player_name"], home_team_id
)
@@ -105,6 +110,7 @@ def sync_match_page(
"player_name": player["player_name"],
"number": player.get("number"),
"position": player.get("position"),
"position_full": player_position,
"is_captain": bool(player.get("is_captain")),
"lineup_type": "bench",
"source": "parser",
@@ -113,12 +119,13 @@ def sync_match_page(
for player in away_bench:
player_id = None
player_position = None
if player.get("player_external_id"):
player_id = get_player_id_by_external_id(player["player_external_id"])
if player_id is None:
player_id = get_player_id_by_name_and_team(
player_id, player_position = get_player_id_by_name_and_team(
player["player_name"], away_team_id
)
@@ -130,6 +137,7 @@ def sync_match_page(
"player_name": player["player_name"],
"number": player.get("number"),
"position": player.get("position"),
"position_full": player_position,
"is_captain": bool(player.get("is_captain")),
"lineup_type": "bench",
"source": "parser",