Zum Inhalt springen

Datenpakete

Fortgeschritten

Kopiere deine Auswahlregeln, Benennungsmuster oder Release-Namen-Prüfungen von einer Installation in eine andere.

Ein Datenpaket ist eine JSON-Datei, die nur Daten enthält. Es kann keinen Code ausführen, keine Adresse abrufen, keinen Titel hinzufügen, keinen Benutzer ändern, keine Mediendateien anfassen und keine geheimen Werte mitbringen.

Bevor du beginnst

Link zu Bevor du beginnst
  • Du bist der Besitzer.
  • Du hast einen API-Schlüssel mit dem Scope admin. Schlüssel mit health_read, read oder write werden abgelehnt.
  • Du hast das JSON des Pakets. Nimm das Paket, das du bekommen hast, oder schreibe eines nach dem Aufbau unter Für Fortgeschrittene.

Ein Paket übertragen

Link zu Ein Paket übertragen

Alle Routen liegen auf http://your-server:6262.

  1. Sende das Paket an POST /api/v1/data-packs/validate. Die Route prüft, ohne zu speichern. Du solltest "valid": true sehen.
  2. Sende dasselbe JSON an POST /api/v1/data-packs. Das speichert das Paket als inaktiv. Noch ändert sich nichts.
  3. Rufe GET /api/v1/data-packs auf, um die gespeicherten Pakete aufzulisten. GET /api/v1/data-packs/{id} exportiert eines.
  4. Rufe GET /api/v1/data-packs/{id}/preview mit einer pick_rule_id pro Regel und höchstens einer naming_id auf. Du bekommst einen approval_hash.
  5. Sende dieselbe Auswahl und den Hash an POST /api/v1/data-packs/{id}/apply. Du solltest die Paket-ID und die IDs der gewählten Regeln sehen.

Vorschau:

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

Body zum Anwenden:

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

Was das Anwenden ändert

Link zu Was das Anwenden ändert
  • Jede gewählte Auswahlregel wird neu angelegt. Sie wird keinem Titel zugewiesen.
  • Ein gewählter Benennungssatz ersetzt nur diese Einstellungen:
    • Muster für Filmdateien und Filmordner.
    • Muster für Serienordner, Staffelordner, Specials-Ordner, Folgen, tägliche Serien und Anime.
    • Muster für Künstlerordner, Albumordner, Disc-Ordner, Tracks und Tracks auf mehreren Discs.
    • Formatierung von Doppelpunkten und unzulässigen Zeichen.
    • Stil für mehrere Folgen, Stil für das Ausstrahlungsdatum und Stellenzahl der absoluten Nummer.
  • Umbenennen beim Import, Ordnerverhalten, Lesen von Tags und Scan-Limits stehen nie in einem Paket.

Wenn es nicht funktioniert

Link zu Wenn es nicht funktioniert

Symptom: Das Anwenden meldet, dass die Vorschau veraltet ist. Ursache: Nach der Vorschau hat sich das Paket geändert, der Name einer Auswahlregel, der kollidieren würde, oder eine Benennungseinstellung, die ersetzt würde. Nichts wurde angewendet. Lösung: Rufe die Vorschau erneut ab und sende den neuen Hash.

Symptom: Der Import meldet, dass das Paket schon existiert. Ursache: Pakete werden nie ersetzt. Lösung: Gib dem neuen Paket eine andere ID.

Symptom: Berechtigungsfehler. Ursache: Der Schlüssel ist kein vom Besitzer erstellter admin-Schlüssel. Lösung: Erstelle als Besitzer einen admin-Schlüssel und verwende ihn.

Für Fortgeschrittene

Link zu Für Fortgeschrittene
Grenzen und Ablehnungen
Grenze Wert
format holyarrs-data-pack
version 1
Größe eines Pakets oder eines Exports 256 KiB
Auswahlregeln 32
Benennungssätze 8
Release-Namen-Prüfungen 256
IDs 1 bis 64 Zeichen: Kleinbuchstaben, Ziffern, Punkte, Bindestriche, Unterstriche. Anfang und Ende sind ein Buchstabe oder eine Ziffer
Body der Anwenden-Anfrage 16 KiB

Ein Paket wird abgelehnt bei doppelten oder unbekannten Feldern, bei zusätzlichem JSON nach dem Ende, bei unbekannten Qualitäts- oder Merkmalsnamen, bei ungültigen Benennungswörtern, bei einer anderen Version als 1 oder bei Werten über diesen Grenzen. Jede Release-Namen-Prüfung läuft durch den Parser von HolyArrs und muss in jedem erwarteten Punkt übereinstimmen.

Aufbau eines Pakets
Feld Enthält
format, version, id, name Pflicht-Kopfdaten
pick_rules Jede hat id, name, kinds und rules (Stufen, Merkmale, Größengrenzen, Protokoll, Sprache, Reihenfolge)
naming Jeder hat id, name und patterns (die oben aufgeführten Benennungseinstellungen)
release_tests Jede hat id, name, release_name, hints und expected (Art, Qualität, Auflösung, Herkunft, Codec, Kennzeichen)
Routen und Antworten
Route Erfolg Ablehnung
POST /api/v1/data-packs/validate 200 mit valid und einer Zusammenfassung 400 ungültig, 413 zu groß
POST /api/v1/data-packs 201 mit einer Zusammenfassung, Status inactive 409 ID existiert, 400, 413
GET /api/v1/data-packs 200 mit data_packs
GET /api/v1/data-packs/{id} 200 mit dem JSON des Pakets 404
GET /api/v1/data-packs/{id}/preview 200 mit approval_hash 400 bei jedem anderen Query-Parameter als pick_rule_id und naming_id, 404
POST /api/v1/data-packs/{id}/apply 200 mit pack_id, pick_rule_ids, naming_id 409 veraltet, 400, 404

Verwandte Seiten

Link zu Verwandte Seiten

HolyArrs ist kostenlos. Wenn es dir Zeit gespart hat, gib ihm einen Stern auf GitHub, unterstütze es als Sponsor oder spendier mir einen Kaffee.