67 lines
3.8 KiB
Markdown
67 lines
3.8 KiB
Markdown
## Описание *AF_script*
|
||
|
||
`AF_script_test_4.py` — это скрипт, написанный на Python, который автоматизирует процесс создания анонсов спортивных событий. Он использует данные из Excel-файла и отправляет их на рендеринг для создания видеоанонсов.
|
||
|
||
### Основные функции:
|
||
|
||
1. **Загрузка данных**:
|
||
- Скрипт загружает данные из Synology NAS с помощью API.
|
||
- Парсит данные из различных листов Excel-файла (например, `Start`, `SPORT`, `TEAMS`).
|
||
|
||
2. **Обработка данных**:
|
||
- Создает словари с необходимыми данными для каждого анонса.
|
||
- Генерирует имена файлов для выходных видео на основе данных.
|
||
|
||
3. **Рендеринг видео**:
|
||
- Формирует запросы к API рендера с необходимыми параметрами (например, шаблон, текст, логотипы команд).
|
||
- Отправляет запросы на рендеринг и отслеживает состояние задач.
|
||
- Уведомляет пользователя о ходе обработки через Telegram.
|
||
|
||
4. **Масштабирование логотипов**:
|
||
Пример кода, который масштабирует логотип команды "B":
|
||
```python
|
||
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.
|
||
|
||
### Команды для управления:
|
||
|
||
- `/help`, `/start`: Отображает список доступных команд.
|
||
- `/чёкак`, `/status`: Показывает количество задач, находящихся в очереди.
|
||
- `/харе`, `/stop`: Отменяет все текущие задачи рендера.
|
||
- `/ибаш`, `/ibash`: Начинает обработку новых задач на основе данных из Excel-файла.
|
||
|
||
### Использование:
|
||
|
||
1. **Установка**:
|
||
- Копируйте сервисный файл в директорию системных сервисов и обновите список сервисов.
|
||
```shell
|
||
sudo cp ~/main/Auto_Anons_Generator.service /etc/systemd/system/Auto_Anons_Generator.service
|
||
systemctl daemon-reload
|
||
```
|
||
- Запустите сервис:
|
||
```shell
|
||
systemctl start Auto_Anons_Generator.service
|
||
```
|
||
|
||
2. **Проверка логов**:
|
||
```shell
|
||
sudo journalctl -t AFS |