Preskoči na sadržaj

Data packovi

Napredno

Kopiraj svoja pravila odabira, obrasce imenovanja ili provjere naziva releasea s jedne instalacije na drugu.

Data pack je JSON datoteka koja sadrži samo podatke. Ne može izvršavati kod, dohvaćati adresu, dodavati naslov, mijenjati korisnika, dirati medijske datoteke niti nositi tajne.

  • Ti si vlasnik.
  • Imaš API ključ s opsegom admin. Ključevi s opsegom health_read, read ili write se odbijaju.
  • Imaš JSON packa. Koristi dobiveni pack ili napiši svoj prema obliku pod Za napredne.

Sve rute su na http://your-server:6262.

  1. Pošalji pack na POST /api/v1/data-packs/validate. Provjerava bez spremanja. Vidjet ćeš "valid": true.
  2. Pošalji isti JSON na POST /api/v1/data-packs. Sprema pack kao neaktivan. Ništa se još ne mijenja.
  3. Otvori GET /api/v1/data-packs za popis spremljenih packova. GET /api/v1/data-packs/{id} izvozi jedan.
  4. Otvori GET /api/v1/data-packs/{id}/preview s jednim pick_rule_id po pravilu i najviše jednim naming_id. Dobit ćeš approval_hash.
  5. Pošalji isti odabir i hash na POST /api/v1/data-packs/{id}/apply. Vidjet ćeš id packa i id-ove pravila koja su odabrana.

Pregled:

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

Tijelo zahtjeva za primjenu:

{
"pick_rule_ids": ["balanced-web"],
"naming_id": "readable",
"approval_hash": "the hash returned by preview"
}
  • Svako odabrano pravilo odabira stvara se novo. Ne dodjeljuje se nijednom naslovu.
  • Odabrani skup imenovanja zamjenjuje samo ove postavke:
    • Obrasce za datoteke i mape filmova.
    • Obrasce za mapu serije, mapu sezone, mapu specijala, epizodu, dnevne i anime epizode.
    • Obrasce za mapu izvođača, mapu albuma, mapu diska, pjesmu i pjesmu s više diskova.
    • Oblikovanje dvotočke i nedopuštenih znakova.
    • Stil više epizoda, stil datuma emitiranja i broj znamenki apsolutnog broja.
  • Preimenovanje pri uvozu, ponašanje mapa, čitanje tagova i ograničenja skeniranja nikad nisu u packu.

Simptom: primjena kaže da je pregled zastario. Uzrok: pack, naziv pravila odabira koji bi se sudario ili postavka imenovanja koju bi zamijenio promijenili su se nakon pregleda. Ništa nije primijenjeno. Rješenje: ponovno napravi pregled i pošalji novi hash.

Simptom: uvoz kaže da pack već postoji. Uzrok: packovi se nikad ne zamjenjuju. Rješenje: daj novom packu drugi id.

Simptom: greška o dozvoli. Uzrok: ključ nije admin ključ koji je napravio vlasnik. Rješenje: kao vlasnik napravi admin ključ i koristi njega.

Ograničenja i odbijanja
Ograničenje Vrijednost
format holyarrs-data-pack
version 1
Veličina packa ili izvoza 256 KiB
Pravila odabira 32
Skupovi imenovanja 8
Provjere naziva releasea 256
Id-ovi 1 do 64 znaka: mala slova, znamenke, točke, crtice, donje crte. Počinju i završavaju slovom ili znamenkom
Tijelo zahtjeva za primjenu 16 KiB

Pack se odbija zbog dvostrukih ili nepoznatih polja, dodatnog JSON-a nakon kraja, nepoznatih naziva kvalitete ili obilježja, neispravnih riječi za imenovanje, verzije različite od 1 ili vrijednosti iznad ovih ograničenja. Svaka provjera naziva releasea prolazi kroz parser HolyArrs-a i mora se podudarati sa svakom činjenicom koju očekuje.

Oblik packa
Polje Sadrži
format, version, id, name Obavezno zaglavlje
pick_rules Svako ima id, name, kinds i rules (koraci, obilježja, ograničenja veličine, protokol, jezik, redoslijed)
naming Svako ima id, name i patterns (gore navedene postavke imenovanja)
release_tests Svako ima id, name, release_name, hints i expected (vrsta, kvaliteta, rezolucija, izvor, codec, zastavice)
Rute i odgovori
Ruta Uspjeh Odbijanje
POST /api/v1/data-packs/validate 200 s valid i sažetkom 400 neispravno, 413 prevelik
POST /api/v1/data-packs 201 sa sažetkom, status inactive 409 id postoji, 400, 413
GET /api/v1/data-packs 200 s data_packs
GET /api/v1/data-packs/{id} 200 s JSON-om packa 404
GET /api/v1/data-packs/{id}/preview 200 s approval_hash 400 za svaki upit osim pick_rule_id i naming_id, 404
POST /api/v1/data-packs/{id}/apply 200 s pack_id, pick_rule_ids, naming_id 409 zastarjelo, 400, 404

HolyArrs je besplatan. Ako ti je uštedio vrijeme, daj mu zvjezdicu na GitHubu, podrži ga ili počasti me kavom.