Описание AF_script

AF_script_test_4.py — это скрипт, написанный на Python, который автоматизирует процесс создания анонсов спортивных событий. Он использует данные из Excel-файла и отправляет их на рендеринг для создания видеоанонсов.

Основные функции:

  1. Загрузка данных:

    • Скрипт загружает данные из Synology NAS с помощью API.
    • Парсит данные из различных листов Excel-файла (например, Start, SPORT, TEAMS).
  2. Обработка данных:

    • Создает словари с необходимыми данными для каждого анонса.
    • Генерирует имена файлов для выходных видео на основе данных.
  3. Рендеринг видео:

    • Формирует запросы к API рендера с необходимыми параметрами (например, шаблон, текст, логотипы команд).
    • Отправляет запросы на рендеринг и отслеживает состояние задач.
    • Уведомляет пользователя о ходе обработки через Telegram.
  4. Масштабирование логотипов: Пример кода, который масштабирует логотип команды "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.

  5. Обработка результатов: После завершения обработки отправляет сообщения в Telegram о готовности анонсов и их состоянии.

Команды для управления:

  • /help, /start: Отображает список доступных команд.
  • /чёкак, /status: Показывает количество задач, находящихся в очереди.
  • /харе, /stop: Отменяет все текущие задачи рендера.
  • /ибаш, /ibash: Начинает обработку новых задач на основе данных из Excel-файла.

Использование:

  1. Установка:

    • Копируйте сервисный файл в директорию системных сервисов и обновите список сервисов.
    sudo cp ~/main/Auto_Anons_Generator.service  /etc/systemd/system/Auto_Anons_Generator.service
    systemctl daemon-reload 
    
    • Запустите сервис:
    systemctl start Auto_Anons_Generator.service 
    
  2. Проверка логов:

    sudo journalctl -t AFS
    
Description
No description provided
Readme 151 KiB
Languages
Python 100%