Перейти к содержимому

Пакеты данных

Для опытных

Перенесите свои Правила отбора, шаблоны имён или проверки названий релизов из одной установки в другую.

Пакет данных — это JSON-файл, в котором только данные. Он не может выполнять код, обращаться по адресу, добавлять тайтл, менять пользователя, трогать медиафайлы или нести в себе секреты.

  • Вы Владелец.
  • У вас есть ключ API с областью admin. Ключи с health_read, read или write не принимаются.
  • У вас есть JSON пакета. Возьмите пакет, который вам дали, или напишите свой по структуре из раздела For experts (для опытных).

Все маршруты находятся на http://your-server:6262.

  1. Отправьте пакет на POST /api/v1/data-packs/validate. Он проверяет, но не сохраняет. Вы увидите "valid": true.
  2. Отправьте тот же JSON на POST /api/v1/data-packs. Пакет сохранится как неактивный. Пока ничего не меняется.
  3. Откройте GET /api/v1/data-packs, чтобы увидеть список сохранённых пакетов. GET /api/v1/data-packs/{id} экспортирует один пакет.
  4. Откройте GET /api/v1/data-packs/{id}/preview с одним pick_rule_id на каждое правило и не более чем одним naming_id. Вы получите approval_hash.
  5. Отправьте тот же выбор и хеш на 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, станьте спонсором или угостите меня кофе.