Pular para o conteúdo

Pacotes de dados

Especialista

Copie suas Regras de escolha, seus padrões de nomes ou seus testes de nomes de lançamento de uma instalação para outra.

Um pacote de dados é um arquivo JSON só com dados. Ele não pode executar código, acessar um endereço, adicionar um título, alterar um usuário, mexer em arquivos de mídia nem levar segredos.

  • Você é o dono.
  • Você tem uma chave de API com o escopo admin. Chaves com health_read, read ou write são recusadas.
  • Você tem o JSON do pacote. Use o pacote que você recebeu ou escreva um a partir do formato em Para especialistas.

Todas as rotas ficam em http://your-server:6262.

  1. Envie o pacote para POST /api/v1/data-packs/validate. Essa rota verifica sem salvar. Você deve ver "valid": true.
  2. Envie o mesmo JSON para POST /api/v1/data-packs. Essa rota salva o pacote como inativo. Nada muda ainda.
  3. Abra GET /api/v1/data-packs para listar os pacotes salvos. GET /api/v1/data-packs/{id} exporta um deles.
  4. Abra GET /api/v1/data-packs/{id}/preview com um pick_rule_id por regra e no máximo um naming_id. Você recebe um approval_hash.
  5. Envie a mesma escolha e o hash para POST /api/v1/data-packs/{id}/apply. Você deve ver o id do pacote e os ids das regras que escolheu.

Prévia:

GET /api/v1/data-packs/home-cinema/preview?pick_rule_id=balanced-web&naming_id=readable

Corpo da aplicação:

{
"pick_rule_ids": ["balanced-web"],
"naming_id": "readable",
"approval_hash": "the hash returned by preview"
}

O que a aplicação muda

Link para O que a aplicação muda
  • Cada Regra de escolha escolhida é criada do zero. Ela não é atribuída a nenhum título.
  • Um conjunto de nomes escolhido substitui só estas configurações:
    • Padrões de arquivo e de pasta de filme.
    • Padrões de pasta de série, pasta de temporada, pasta de especiais, episódio, diário e anime.
    • Padrões de pasta de artista, pasta de álbum, pasta de disco, faixa e faixa de álbum com vários discos.
    • Formatação de dois-pontos e de caracteres inválidos.
    • Estilo de vários episódios, estilo da data de exibição e dígitos do número absoluto.
  • Renomear na importação, comportamento das pastas, leitura de tags e limites de varredura nunca fazem parte de um pacote.

Sintoma: A aplicação diz que a prévia está desatualizada. Causa: O pacote, um nome de Regra de escolha que entraria em conflito ou uma configuração de nomes que seria substituída mudou depois da prévia. Nada foi aplicado. Solução: Gere a prévia de novo e envie o novo hash.

Sintoma: A importação diz que o pacote já existe. Causa: Pacotes nunca são substituídos. Solução: Dê outro id ao novo pacote.

Sintoma: Erro de permissão. Causa: A chave não é uma chave admin criada pelo dono. Solução: Crie uma chave admin como dono e use essa chave.

Limites e recusas
Limite Valor
format holyarrs-data-pack
version 1
Tamanho de um pacote ou de uma exportação 256 KiB
Regras de escolha 32
Conjuntos de nomes 8
Testes de nomes de lançamento 256
Ids 1 a 64 caracteres: letras minúsculas, dígitos, pontos, hifens, sublinhados. Começam e terminam com uma letra ou um dígito
Corpo do pedido de aplicação 16 KiB

Um pacote é recusado por campos duplicados ou desconhecidos, JSON a mais depois do fim, nomes de qualidade ou de característica desconhecidos, palavras de nomes inválidas, uma versão diferente de 1 ou valores acima desses limites. Cada teste de nome de lançamento passa pelo interpretador do HolyArrs e precisa bater com todos os fatos que espera.

Formato do pacote
Campo Contém
format, version, id, name Cabeçalho obrigatório
pick_rules Cada uma tem id, name, kinds e rules (degraus, características, limites de tamanho, protocolo, idioma, ordem)
naming Cada um tem id, name e patterns (as configurações de nomes listadas acima)
release_tests Cada um tem id, name, release_name, hints e expected (tipo, qualidade, resolução, origem, codec, marcadores)
Rotas e respostas
Rota Sucesso Recusa
POST /api/v1/data-packs/validate 200 com valid e um resumo 400 inválido, 413 grande demais
POST /api/v1/data-packs 201 com um resumo, status inactive 409 id já existe, 400, 413
GET /api/v1/data-packs 200 com data_packs
GET /api/v1/data-packs/{id} 200 com o JSON do pacote 404
GET /api/v1/data-packs/{id}/preview 200 com approval_hash 400 para qualquer parâmetro que não seja pick_rule_id e naming_id, 404
POST /api/v1/data-packs/{id}/apply 200 com pack_id, pick_rule_ids, naming_id 409 desatualizada, 400, 404

O HolyArrs é gratuito. Se ele poupou seu tempo, dê uma estrela no GitHub, patrocine o projeto ou me pague um café.