Sari la conținut

Pachete de date

Expert

Copiază Regulile tale de alegere, șabloanele de denumire sau verificările numelor de variante de la o instalare la alta.

Un pachet de date e un fișier JSON cu date și nimic altceva. Nu poate rula cod, nu poate accesa o adresă, nu poate adăuga un titlu, nu poate schimba un utilizator, nu atinge fișierele media și nu poartă secrete.

  • Ești proprietarul.
  • Ai o cheie API cu scopul admin. Cheile cu health_read, read sau write sunt refuzate.
  • Ai JSON-ul pachetului. Folosește pachetul primit sau scrie unul după forma de sub Pentru experți.

Toate rutele sunt pe http://your-server:6262.

  1. Trimite pachetul la POST /api/v1/data-packs/validate. Verifică fără să salveze. Ar trebui să vezi "valid": true.
  2. Trimite același JSON la POST /api/v1/data-packs. Salvează pachetul ca inactiv. Încă nu se schimbă nimic.
  3. Deschide GET /api/v1/data-packs ca să listezi pachetele salvate. GET /api/v1/data-packs/{id} exportă unul.
  4. Deschide GET /api/v1/data-packs/{id}/preview cu câte un pick_rule_id pentru fiecare regulă și cel mult un naming_id. Primești un approval_hash.
  5. Trimite aceeași alegere și hash-ul la POST /api/v1/data-packs/{id}/apply. Ar trebui să vezi id-ul pachetului și id-urile regulilor alese.

Preview:

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

Corpul pentru apply:

{
"pick_rule_ids": ["balanced-web"],
"naming_id": "readable",
"approval_hash": "the hash returned by preview"
}
  • Fiecare Regulă de alegere aleasă se creează nouă. Nu e atribuită niciunui titlu.
  • Un set de denumire ales înlocuiește doar aceste setări:
    • Șabloanele pentru fișierul și dosarul unui film.
    • Șabloanele pentru dosarul serialului, dosarul sezonului, dosarul episoadelor speciale, episod, daily și anime.
    • Șabloanele pentru dosarul artistului, dosarul albumului, dosarul discului, piesă și piesă pe mai multe discuri.
    • Formatarea pentru două puncte și caractere interzise.
    • Stilul pentru mai multe episoade, stilul datei de difuzare și cifrele numărului absolut.
  • Redenumirea la import, comportamentul dosarelor, citirea etichetelor și limitele de scanare nu sunt niciodată într-un pachet.

Simptom: Apply spune că preview-ul e depășit. Cauză: pachetul, numele unei Reguli de alegere care s-ar ciocni sau o setare de denumire pe care ar înlocui-o s-au schimbat după preview. Nu s-a aplicat nimic. Soluție: fă din nou preview și trimite noul hash.

Simptom: importul spune că pachetul există deja. Cauză: pachetele nu se înlocuiesc niciodată. Soluție: dă pachetului nou alt id.

Simptom: eroare de permisiune. Cauză: cheia nu e o cheie admin făcută de proprietar. Soluție: creează o cheie admin ca proprietar și folosește-o.

Limite și refuzuri
Limită Valoare
format holyarrs-data-pack
version 1
Mărimea unui pachet sau a unui export 256 KiB
Reguli de alegere 32
Seturi de denumire 8
Verificări ale numelor de variante 256
Id-uri 1 până la 64 de caractere: litere mici, cifre, puncte, liniuțe, liniuțe de subliniere. Încep și se termină cu o literă sau o cifră
Corpul cererii apply 16 KiB

Un pachet e refuzat pentru câmpuri duplicate sau necunoscute, JSON în plus după final, nume necunoscute de calitate sau trăsături, cuvinte de denumire greșite, o versiune alta decât 1 sau valori peste aceste limite. Fiecare verificare a unui nume de variantă trece prin parserul HolyArrs și trebuie să potrivească fiecare fapt pe care îl așteaptă.

Forma pachetului
Câmp Conține
format, version, id, name Antet obligatoriu
pick_rules Fiecare are id, name, kinds și rules (trepte, trăsături, limite de mărime, protocol, limbă, ordine)
naming Fiecare are id, name și patterns (setările de denumire enumerate mai sus)
release_tests Fiecare are id, name, release_name, hints și expected (kind, quality, resolution, source, codec, flags)
Rute și răspunsuri
Rută Succes Refuz
POST /api/v1/data-packs/validate 200 cu valid și un rezumat 400 invalid, 413 prea mare
POST /api/v1/data-packs 201 cu un rezumat, stare inactive 409 id-ul există, 400, 413
GET /api/v1/data-packs 200 cu data_packs
GET /api/v1/data-packs/{id} 200 cu JSON-ul pachetului 404
GET /api/v1/data-packs/{id}/preview 200 cu approval_hash 400 pentru orice parametru în afară de pick_rule_id și naming_id, 404
POST /api/v1/data-packs/{id}/apply 200 cu pack_id, pick_rule_ids, naming_id 409 depășit, 400, 404

HolyArrs este gratuit. Dacă ți-a economisit timp, dă-i o stea pe GitHub, sponsorizează-l sau cumpără-mi o cafea.