попытка починить амлуа для передачи данных в 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: def get_player_id_by_name_and_team(full_name: str, team_id: int) -> int | None:
query = """ query = """
SELECT id SELECT id,
position
FROM players FROM players
WHERE team_id = %s WHERE team_id = %s
AND LOWER(full_name) = LOWER(%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: with conn.cursor() as cur:
cur.execute(query, (team_id, full_name.strip())) cur.execute(query, (team_id, full_name.strip()))
row = cur.fetchone() row = cur.fetchone()
return row[0] if row else None return row if row else None
finally: finally:
conn.close() conn.close()

View File

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