Μετάβαση στο περιεχόμενο

Πακέτα δεδομένων

Για έμπειρους

Αντίγραψε τους Κανόνες επιλογής, τα μοτίβα ονομασίας ή τους ελέγχους ονομάτων κυκλοφοριών από μια εγκατάσταση σε άλλη.

Ένα πακέτο δεδομένων είναι ένα αρχείο JSON που περιέχει μόνο δεδομένα. Δεν μπορεί να τρέξει κώδικα, να καλέσει μια διεύθυνση, να προσθέσει τίτλο, να αλλάξει χρήστη, να αγγίξει αρχεία πολυμέσων ή να κουβαλήσει μυστικά.

  • Είσαι ο ιδιοκτήτης.
  • Έχεις ένα κλειδί API με το scope admin. Κλειδιά με health_read, read ή write απορρίπτονται.
  • Έχεις το JSON του πακέτου. Χρησιμοποίησε το πακέτο που σου δόθηκε ή γράψε ένα από τη μορφή που υπάρχει στο Για έμπειρους.

Όλα τα routes είναι στο 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. Στείλε την ίδια επιλογή και το hash στο POST /api/v1/data-packs/{id}/apply. Θα πρέπει να δεις το id του πακέτου και τα id των κανόνων που διάλεξες.

Preview:

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

Σώμα του apply:

{
"pick_rule_ids": ["balanced-web"],
"naming_id": "readable",
"approval_hash": "the hash returned by preview"
}
  • Κάθε Κανόνας επιλογής που διάλεξες δημιουργείται καινούργιος. Δεν ανατίθεται σε κανέναν τίτλο.
  • Ένα σύνολο ονομασίας που διάλεξες αντικαθιστά μόνο αυτές τις ρυθμίσεις:
    • Μοτίβα αρχείου και φακέλου ταινίας.
    • Μοτίβα φακέλου σειράς, φακέλου σεζόν, φακέλου ειδικών επεισοδίων, επεισοδίου, ημερήσιου και anime.
    • Μοτίβα φακέλου καλλιτέχνη, φακέλου άλμπουμ, φακέλου δίσκου, κομματιού και κομματιού πολλών δίσκων.
    • Μορφοποίηση της άνω και κάτω τελείας και των χαρακτήρων που απαγορεύονται.
    • Στυλ πολλαπλών επεισοδίων, στυλ ημερομηνίας προβολής και ψηφία απόλυτου αριθμού.
  • Η μετονομασία στην εισαγωγή, η συμπεριφορά των φακέλων, η ανάγνωση ετικετών και τα όρια σάρωσης δεν περιλαμβάνονται ποτέ σε πακέτο.

Σύμπτωμα: το apply λέει ότι το preview είναι ξεπερασμένο. Αιτία: το πακέτο, ένα όνομα Κανόνα επιλογής που θα συγκρουόταν ή μια ρύθμιση ονομασίας που θα αντικαθίστατο άλλαξαν μετά το preview. Τίποτα δεν εφαρμόστηκε. Λύση: κάνε ξανά preview και στείλε το νέο hash.

Σύμπτωμα: η εισαγωγή λέει ότι το πακέτο υπάρχει ήδη. Αιτία: τα πακέτα δεν αντικαθίστανται ποτέ. Λύση: δώσε στο νέο πακέτο άλλο id.

Σύμπτωμα: σφάλμα δικαιωμάτων. Αιτία: το κλειδί δεν είναι κλειδί admin που έφτιαξε ο ιδιοκτήτης. Λύση: φτιάξε ένα κλειδί admin ως ιδιοκτήτης και χρησιμοποίησέ το.

Όρια και απορρίψεις
Όριο Τιμή
format holyarrs-data-pack
version 1
Μέγεθος ενός πακέτου ή μιας εξαγωγής 256 KiB
Κανόνες επιλογής 32
Σύνολα ονομασίας 8
Έλεγχοι ονομάτων κυκλοφοριών 256
Ids 1 έως 64 χαρακτήρες: πεζά γράμματα, ψηφία, τελείες, παύλες, κάτω παύλες. Ξεκινούν και τελειώνουν με γράμμα ή ψηφίο
Σώμα αιτήματος apply 16 KiB

Ένα πακέτο απορρίπτεται για διπλά ή άγνωστα πεδία, επιπλέον JSON μετά το τέλος, άγνωστα ονόματα ποιότητας ή χαρακτηριστικών, λάθος λέξεις ονομασίας, έκδοση διαφορετική από 1 ή τιμές πάνω από αυτά τα όρια. Κάθε έλεγχος ονόματος κυκλοφορίας περνά από τον parser του HolyArrs και πρέπει να ταιριάζει με κάθε στοιχείο που περιμένει.

Μορφή του πακέτου
Πεδίο Περιέχει
format, version, id, name Υποχρεωτική κεφαλίδα
pick_rules Καθένας έχει id, name, kinds και rules (βήματα, χαρακτηριστικά, όρια μεγέθους, πρωτόκολλο, γλώσσα, σειρά)
naming Καθένα έχει id, name και patterns (οι ρυθμίσεις ονομασίας που αναφέρονται πιο πάνω)
release_tests Καθένας έχει id, name, release_name, hints και expected (kind, quality, resolution, source, codec, flags)
Routes και απαντήσεις
Route Επιτυχία Απόρριψη
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 για οποιοδήποτε query εκτός από 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, γίνε χορηγός ή κέρασέ με έναν καφέ.