Пакеты данных
Для опытных
Перенесите свои Правила отбора, шаблоны имён или проверки названий релизов из одной установки в другую.
Пакет данных — это JSON-файл, в котором только данные. Он не может выполнять код, обращаться по адресу, добавлять тайтл, менять пользователя, трогать медиафайлы или нести в себе секреты.
Перед началом
Ссылка на «Перед началом»- Вы Владелец.
- У вас есть ключ API с областью
admin. Ключи сhealth_read,readилиwriteне принимаются. - У вас есть JSON пакета. Возьмите пакет, который вам дали, или напишите свой по структуре из раздела For experts (для опытных).
Перенесите пакет
Ссылка на «Перенесите пакет»Все маршруты находятся на http://your-server:6262.
- Отправьте пакет на
POST /api/v1/data-packs/validate. Он проверяет, но не сохраняет. Вы увидите"valid": true. - Отправьте тот же JSON на
POST /api/v1/data-packs. Пакет сохранится как неактивный. Пока ничего не меняется. - Откройте
GET /api/v1/data-packs, чтобы увидеть список сохранённых пакетов.GET /api/v1/data-packs/{id}экспортирует один пакет. - Откройте
GET /api/v1/data-packs/{id}/previewс однимpick_rule_idна каждое правило и не более чем однимnaming_id. Вы получитеapproval_hash. - Отправьте тот же выбор и хеш на
POST /api/v1/data-packs/{id}/apply. Вы увидите id пакета и id выбранных правил.
Предпросмотр:
GET /api/v1/data-packs/home-cinema/preview?pick_rule_id=balanced-web&naming_id=readableТело запроса на применение:
{ "pick_rule_ids": ["balanced-web"], "naming_id": "readable", "approval_hash": "the hash returned by preview"}Что меняется при применении
Ссылка на «Что меняется при применении»- Каждое выбранное Правило отбора создаётся заново. Оно не назначается ни одному тайтлу.
- Выбранный набор имён заменяет только эти настройки:
- Шаблоны файла и папки фильма.
- Шаблоны папки сериала, папки сезона, папки спецвыпусков, серии, ежедневных выпусков и аниме.
- Шаблоны папки исполнителя, папки альбома, папки диска, трека и трека для многодисковых изданий.
- Оформление двоеточий и недопустимых символов.
- Стиль нескольких серий в одном файле, стиль даты выхода в эфир и число цифр в абсолютном номере.
- Переименование при импорте, поведение папок, чтение тегов и ограничения сканирования в пакет никогда не входят.
Если не работает
Ссылка на «Если не работает»Признак проблемы: При применении сказано, что предпросмотр устарел. Причина: После предпросмотра изменился пакет, название Правила отбора, с которым возникло бы совпадение, или настройка имён, которую пакет заменил бы. Ничего не применено. Решение: Сделайте предпросмотр заново и отправьте новый хеш.
Признак проблемы: При импорте сказано, что пакет уже существует. Причина: Пакеты никогда не заменяются. Решение: Дайте новому пакету другой id.
Признак проблемы: Ошибка прав.
Причина: Ключ не является ключом admin, созданным Владельцем.
Решение: Создайте ключ admin от имени Владельца и используйте его.
Для опытных
Ссылка на «Для опытных»Ограничения и отказы
| Ограничение | Значение |
|---|---|
format |
holyarrs-data-pack |
version |
1 |
| Размер пакета или экспорта | 256 KiB |
| Правила отбора | 32 |
| Наборы имён | 8 |
| Проверки названий релизов | 256 |
| Идентификаторы (id) | От 1 до 64 символов: строчные латинские буквы, цифры, точки, дефисы, подчёркивания. Начинаются и заканчиваются буквой или цифрой |
| Тело запроса на применение | 16 KiB |
Пакет не принимается, если в нём есть повторяющиеся или неизвестные поля, лишний JSON после конца, неизвестные названия качества или признаков, неверные слова в именах, версия, отличная от 1, или значения сверх этих ограничений. Каждая проверка названия релиза проходит через разборщик HolyArrs и должна совпасть по каждому факту, который в ней ожидается.
Структура пакета
| Поле | Что содержит |
|---|---|
format, version, id, name |
Обязательный заголовок |
pick_rules |
В каждом есть id, name, kinds и rules (ступени, признаки, ограничения размера, протокол, язык, порядок) |
naming |
В каждом есть id, name и patterns (настройки имён, перечисленные выше) |
release_tests |
В каждом есть id, name, release_name, hints и expected (вид, качество, разрешение, источник, кодек, флаги) |
Маршруты и ответы
| Маршрут | Успех | Отказ |
|---|---|---|
POST /api/v1/data-packs/validate |
200 с valid и сводкой |
400 неверный пакет, 413 слишком большой |
POST /api/v1/data-packs |
201 со сводкой, состояние inactive |
409 id уже есть, 400, 413 |
GET /api/v1/data-packs |
200 с data_packs |
|
GET /api/v1/data-packs/{id} |
200 с JSON пакета | 404 |
GET /api/v1/data-packs/{id}/preview |
200 с approval_hash |
400 при любом параметре запроса, кроме pick_rule_id и naming_id, 404 |
POST /api/v1/data-packs/{id}/apply |
200 с pack_id, pick_rule_ids, naming_id |
409 устарел, 400, 404 |
См. также
Ссылка на «См. также»HolyArrs бесплатен. Если он сэкономил вам время, поставьте звезду на GitHub, станьте спонсором или угостите меня кофе.