Telegram-бот для добавления торрентов в Transmission и с функцией поиска по метаданным.
Метаданные получаем через Kinopoisk API Unofficial.
У меня есть потребность автоматизировать ведение библиотеки фильмов и сериалов.
Я использую Jellyfin, и у него есть определенная структура библиотеки. И она мне нравится, всё лаконично и понятно, ничего лишнего.
Тогда как на раздаче мы часто видим имена файлов PloXoy.Santa.2.Uncensored.2O16.P1.D.WEB-DLRip.14OOMB.avi.
Что такое P1, D я не знаю, вместо пробелов точки, название транслитом, цифры записаны буквами...
Все имена файлов уникальны, субтитры иногда находятся на одном уровне с фильмами, иногда в отдельных папках...
Способов именования файлов у каждого свой, уникальный, естественно, Jellyfin с этим не справляется и не может правильно распознать контент.
Метаданные - это файлы *.NFO, в них находится информация о фильме. Он включает в себя название фильма, год выпуска, и.т.п. Пример NFO файла. А также изображения, которые помещаются рядом с фильмом. Например такие как poster.jpg, backdrop.jpg и logo.jpg. Метаданные нужны чтобы в медиаплеере Jellyfin отображалась информация о фильме.
Конечно, есть готовые плагины для поиска метаданных, в том числе и с кинопоиска. Но я столкнулся с проблемами:
- Плагины иногда не корректно распознают имена файлов, и метаданные нужно искать вручную, но это не удобно.
- Плагины сканируют всё библиотеку, а количество запросов в сутки ограничено, следовательно на новые фильмы может не хватить.
- Плагины делают поиск метаданных неохотно, может потребоваться много времени чтобы было описание к фильму, а хочется здесь и сейчас.
Поэтому я решил автоматизировать задачу скачивания и поиска метаданных. Локальные метаданные имеют приоритет над метаданными плагинов, так что они практически сразу отображаются на главной странице и уже можно смотреть фильм.
Так у меня родился этот скрипт для скачивания метаданных.
Проект только начинает свою жизнь. Вот список планов на будущее:
- Добавить API для работы с Transmission.
- Автоматизировать переименование файлов.
- Добавить телеграмм-бота.
- Cклонировать репозиторий:
git clone https://github.com/DeJQit/telemission.git- Создайте виртуальное окружение (опционально, но рекомендуется):
python -m venv env
source env/bin/activate # On Windows, use env\Scripts\activate- Установите необходимые зависимости:
pip install -r requirements.txt- Регистрация и получение токена
Для работы с нашим скриптом вам необходимо получить API-токен. Вот пошаговая инструкция, как это сделать:
- Перейдите по адресу Kinopoisk API Unofficial.
- Нажмите на кнопку "Зарегистрироваться" в правом верхнем углу.
- Заполните форму регистрации, указав свои email и пароль.
- После успешной регистрации вы будете перенаправлены на страницу "Личный кабинет".
- В личном кабинете перейдите в раздел "Профиль".
- Скопируйте "API-ключ" и сохраните его в надежном месте. Этот токен будет использоваться для аутентификации при работе с API.
- Запуск скрипта:
Допустим, вы хотите получить метаданные для фильма с Кинопоиск https://www.kinopoisk.ru/film/301/.
Вам нужен film_id, который находится в URL, в данном случае это 301.
Тогда скрипт можно будет запустить следующей командой:
python -m telemission 301 --api-token {API_TOKEN}Скрипт создаст папку Movie с метаданными фильма.
Для сериалов создаёт папку Series c метаданными сериала.