обновление для Кубка России
переделаны все парсеры на ссылки из базы
This commit is contained in:
@@ -5,6 +5,24 @@ from repositories.team_repository import get_team_id_by_external_id
|
||||
from repositories.stadium_repository import get_or_create_stadium
|
||||
|
||||
|
||||
def ensure_match_source_key_column() -> None:
|
||||
"""Добавляет источник турнира для матчей, чтобы vMix выбирал правильную папку логотипов."""
|
||||
conn = get_connection()
|
||||
try:
|
||||
with conn.cursor() as cur:
|
||||
cur.execute(
|
||||
"""
|
||||
ALTER TABLE matches
|
||||
ADD COLUMN IF NOT EXISTS source_key VARCHAR(50);
|
||||
"""
|
||||
)
|
||||
conn.commit()
|
||||
except Exception:
|
||||
conn.rollback()
|
||||
raise
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
def upsert_match(
|
||||
external_id: str,
|
||||
@@ -20,6 +38,7 @@ def upsert_match(
|
||||
stadium_id: int | None = None,
|
||||
date_raw: str | None = None,
|
||||
score_add: str | None = None,
|
||||
source_key: str | None = None,
|
||||
) -> None:
|
||||
query = """
|
||||
INSERT INTO matches (
|
||||
@@ -36,10 +55,11 @@ INSERT INTO matches (
|
||||
stadium_id,
|
||||
date_raw,
|
||||
score_add,
|
||||
source_key,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW(), NOW())
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW(), NOW())
|
||||
ON CONFLICT (external_id)
|
||||
DO UPDATE SET
|
||||
home_team_id = EXCLUDED.home_team_id,
|
||||
@@ -54,6 +74,7 @@ DO UPDATE SET
|
||||
stadium_id = EXCLUDED.stadium_id,
|
||||
date_raw = EXCLUDED.date_raw,
|
||||
score_add = EXCLUDED.score_add,
|
||||
source_key = COALESCE(EXCLUDED.source_key, matches.source_key),
|
||||
updated_at = NOW();
|
||||
"""
|
||||
|
||||
@@ -76,6 +97,7 @@ DO UPDATE SET
|
||||
stadium_id,
|
||||
date_raw,
|
||||
score_add,
|
||||
source_key,
|
||||
),
|
||||
)
|
||||
conn.commit()
|
||||
@@ -100,6 +122,7 @@ def upsert_match_by_team_external_ids(
|
||||
stadium_id: int | None = None,
|
||||
date_raw: str | None = None,
|
||||
score_add: str | None = None,
|
||||
source_key: str | None = None,
|
||||
) -> None:
|
||||
home_team_id = get_team_id_by_external_id(home_team_external_id)
|
||||
away_team_id = get_team_id_by_external_id(away_team_external_id)
|
||||
@@ -125,6 +148,7 @@ def upsert_match_by_team_external_ids(
|
||||
stadium_id=stadium_id,
|
||||
date_raw=date_raw,
|
||||
score_add=score_add,
|
||||
source_key=source_key,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user