Описание AF_script
AF_script_test_4.py — это скрипт, написанный на Python, который автоматизирует процесс создания анонсов спортивных событий. Он использует данные из Excel-файла и отправляет их на рендеринг для создания видеоанонсов.
Основные функции:
-
Загрузка данных:
- Скрипт загружает данные из Synology NAS с помощью API.
- Парсит данные из различных листов Excel-файла (например,
Start,SPORT,TEAMS).
-
Обработка данных:
- Создает словари с необходимыми данными для каждого анонса.
- Генерирует имена файлов для выходных видео на основе данных.
-
Рендеринг видео:
- Формирует запросы к API рендера с необходимыми параметрами (например, шаблон, текст, логотипы команд).
- Отправляет запросы на рендеринг и отслеживает состояние задач.
- Уведомляет пользователя о ходе обработки через Telegram.
-
Масштабирование логотипов: Пример кода, который масштабирует логотип команды "B":
if data["team_b_logo_res"]: payload["assets"].append( { "property": "scale", "type": "data", "expression": "if (width > height) {max_size = width;} else {max_size = height;} var real_size = " + data["team_b_logo_res"][0] + "/max_size*100;[real_size,real_size]", "layerName": "TEAM_B_LOGO", } ) logger.info( f"{data['team_b']} logo was resized to {data['team_b_logo_res'][0]}" ) bot.send_message( message.chat.id, f"<b>{data['team_b']}</b> маштабирован под <b>{data['team_b_logo_res'][0]}</b> пикселей", parse_mode=["html"], )Этот код проверяет, установлен ли параметр
team_b_logo_res, и если да, то добавляет в запрос на рендеринг инструкцию для масштабирования логотипа команды "B" до заданного размера. Затем записывает информацию о масштабировании в лог и отправляет уведомление пользователю через Telegram. -
Обработка результатов: После завершения обработки отправляет сообщения в Telegram о готовности анонсов и их состоянии.
Команды для управления:
/help,/start: Отображает список доступных команд./чёкак,/status: Показывает количество задач, находящихся в очереди./харе,/stop: Отменяет все текущие задачи рендера./ибаш,/ibash: Начинает обработку новых задач на основе данных из Excel-файла.
Использование:
-
Установка:
- Копируйте сервисный файл в директорию системных сервисов и обновите список сервисов.
sudo cp ~/main/Auto_Anons_Generator.service /etc/systemd/system/Auto_Anons_Generator.service systemctl daemon-reload- Запустите сервис:
systemctl start Auto_Anons_Generator.service -
Проверка логов:
sudo journalctl -t AFS