Compare commits
2 Commits
87442bdfdd
...
d3f4bd1c8d
| Author | SHA1 | Date | |
|---|---|---|---|
| d3f4bd1c8d | |||
| c8effe0307 |
18
app.py
18
app.py
@@ -646,22 +646,28 @@ def load_match_data(request: Request, session_token: str):
|
||||
match_external_id = session_row[8]
|
||||
|
||||
try:
|
||||
run_parser_game(str(match_external_id))
|
||||
|
||||
# сброс ручного состава и тренеров, чтобы подтянулись свежие данные парсера
|
||||
from db import get_connection
|
||||
|
||||
# Сначала очищаем ручные данные матча,
|
||||
# чтобы парсер потом записал свежие составы и тренеров
|
||||
conn = get_connection()
|
||||
try:
|
||||
with conn.cursor() as cur:
|
||||
cur.execute(
|
||||
"DELETE FROM match_lineup_players WHERE match_id = %s", (match_id,)
|
||||
"DELETE FROM match_lineup_players WHERE match_id = %s",
|
||||
(match_id,),
|
||||
)
|
||||
cur.execute(
|
||||
"DELETE FROM match_coaches WHERE match_id = %s",
|
||||
(match_id,),
|
||||
)
|
||||
cur.execute("DELETE FROM match_coaches WHERE match_id = %s", (match_id,))
|
||||
conn.commit()
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
# Потом загружаем свежие данные с сайта
|
||||
run_parser_game(str(match_external_id))
|
||||
|
||||
except Exception as e:
|
||||
error_text = str(e) or "Ошибка загрузки данных с сайта"
|
||||
|
||||
@@ -692,7 +698,7 @@ def load_match_data(request: Request, session_token: str):
|
||||
return RedirectResponse(
|
||||
url=f"/admin/session/{session_token}?tab=game",
|
||||
status_code=303,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@app.post("/admin/session/{session_token}/close")
|
||||
|
||||
@@ -143,16 +143,21 @@
|
||||
href="/admin/session/{{ session[3] }}?tab=referees"
|
||||
>Судьи</a
|
||||
>
|
||||
<a
|
||||
class="tab-link {% if tab == 'tour_schedule' %}active{% endif %}"
|
||||
href="/admin/session/{{ session[3] }}?tab=tour_schedule"
|
||||
>Расписание тура</a
|
||||
>
|
||||
<a
|
||||
class="tab-link {% if tab == 'standings' %}active{% endif %}"
|
||||
href="/admin/session/{{ session[3] }}?tab=standings"
|
||||
>Турнирная таблица</a
|
||||
>
|
||||
<a
|
||||
class="tab-link {% if tab == 'tour_schedule' %}active{% endif %}"
|
||||
href="/admin/session/{{ session[3] }}?tab=tour_schedule"
|
||||
data-vmix-title="РАСПИСАНИЕ ТУРА"
|
||||
>
|
||||
Расписание тура
|
||||
</a>
|
||||
|
||||
<a
|
||||
class="tab-link {% if tab == 'standings' %}active{% endif %}"
|
||||
href="/admin/session/{{ session[3] }}?tab=standings"
|
||||
data-vmix-title="ТУРНИРНАЯ ТАБЛИЦА"
|
||||
>
|
||||
Турнирная таблица
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% if tab == 'game' %}
|
||||
@@ -1173,6 +1178,53 @@
|
||||
}, 15000);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function () {
|
||||
const matchId = window.MATCH_DATA?.matchId;
|
||||
const sessionToken = window.MATCH_DATA?.sessionToken;
|
||||
|
||||
if (!matchId || !sessionToken) {
|
||||
return;
|
||||
}
|
||||
|
||||
async function sendVmixTitle(titleText) {
|
||||
if (!titleText) return;
|
||||
|
||||
try {
|
||||
await fetch("/api/vmix/publish-command", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json",
|
||||
"X-Requested-With": "XMLHttpRequest"
|
||||
},
|
||||
credentials: "same-origin",
|
||||
body: JSON.stringify({
|
||||
match_id: matchId,
|
||||
session_token: sessionToken,
|
||||
commands: [
|
||||
`TITLE_PREVIEW:${titleText}`
|
||||
],
|
||||
meta: {
|
||||
source: "tab_click",
|
||||
title: titleText
|
||||
}
|
||||
})
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Не удалось отправить команду в vMix:", error);
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener("click", function (event) {
|
||||
const link = event.target.closest(".tab-link[data-vmix-title]");
|
||||
if (!link) return;
|
||||
|
||||
const titleText = link.dataset.vmixTitle;
|
||||
sendVmixTitle(titleText);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script src="/static/script.js"></script>
|
||||
<div id="matrixLoader" class="matrix-loader" aria-hidden="true">
|
||||
<canvas id="matrixCanvas" class="matrix-canvas"></canvas>
|
||||
|
||||
Reference in New Issue
Block a user