Aller au contenu

Packs de données

Expert

Copiez vos règles de sélection, vos modèles de nommage ou vos vérifications de noms de release d’une installation à une autre.

Un pack de données est un fichier JSON qui ne contient que des données. Il ne peut pas exécuter de code, appeler une adresse, ajouter un titre, modifier un utilisateur, toucher aux fichiers multimédias ni transporter de secrets.

  • Vous êtes le propriétaire.
  • Vous avez une clé API avec la portée admin. Les clés avec health_read, read ou write sont refusées.
  • Vous avez le JSON du pack. Utilisez le pack qu’on vous a donné, ou écrivez-en un d’après la structure décrite dans Pour les experts.

Toutes les routes sont sur http://your-server:6262.

  1. Envoyez le pack à POST /api/v1/data-packs/validate. Cette route vérifie sans enregistrer. Vous devriez voir "valid": true.
  2. Envoyez le même JSON à POST /api/v1/data-packs. Le pack est enregistré comme inactif. Rien ne change encore.
  3. Ouvrez GET /api/v1/data-packs pour lister les packs enregistrés. GET /api/v1/data-packs/{id} en exporte un.
  4. Ouvrez GET /api/v1/data-packs/{id}/preview avec un pick_rule_id par règle et au plus un naming_id. Vous recevez un approval_hash.
  5. Envoyez le même choix et le hash à POST /api/v1/data-packs/{id}/apply. Vous devriez voir l’identifiant du pack et les identifiants des règles que vous avez choisies.

Prévisualisation :

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

Corps de l’application :

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

Ce que l’application d’un pack change

Lien vers Ce que l’application d’un pack change
  • Chaque règle de sélection choisie est créée comme une nouvelle règle. Elle n’est attribuée à aucun titre.
  • Un jeu de nommage choisi remplace uniquement ces paramètres :
    • Les modèles de fichier et de dossier des films.
    • Les modèles de dossier de série, de dossier de saison, de dossier d’épisodes spéciaux, d’épisode, d’épisode quotidien et d’anime.
    • Les modèles de dossier d’artiste, de dossier d’album, de dossier de disque, de piste et de piste d’album à plusieurs disques.
    • Le format des deux-points et des caractères interdits.
    • Le style des épisodes multiples, le style des dates de diffusion et le nombre de chiffres des numéros absolus.
  • Le renommage à l’import, le comportement des dossiers, la lecture des tags et les limites d’analyse ne sont jamais dans un pack.

Si ça ne fonctionne pas

Lien vers Si ça ne fonctionne pas

Symptôme : L’application du pack indique que la prévisualisation est périmée. Cause : Le pack, un nom de règle de sélection qui entrerait en conflit, ou un paramètre de nommage qu’il remplacerait a changé après la prévisualisation. Rien n’a été appliqué. Solution : Refaites la prévisualisation et envoyez le nouveau hash.

Symptôme : L’import indique que le pack existe déjà. Cause : Les packs ne sont jamais remplacés. Solution : Donnez un autre identifiant au nouveau pack.

Symptôme : Erreur de permission. Cause : La clé n’est pas une clé admin créée par le propriétaire. Solution : Créez une clé admin en tant que propriétaire et utilisez-la.

Limites et refus
Limite Valeur
format holyarrs-data-pack
version 1
Taille d’un pack ou d’un export 256 Kio
Règles de sélection 32
Jeux de nommage 8
Vérifications de noms de release 256
Identifiants 1 à 64 caractères : lettres minuscules, chiffres, points, tirets, tirets bas. Une lettre ou un chiffre au début et à la fin
Corps de la demande d’application 16 Kio

Un pack est refusé pour des champs en double ou inconnus, du JSON en trop après la fin, des noms de qualité ou de critère inconnus, des mots de nommage incorrects, une version autre que 1, ou des valeurs au-delà de ces limites. Chaque vérification de nom de release passe par l’analyseur de HolyArrs et doit retrouver chaque information attendue.

Structure d'un pack
Champ Contient
format, version, id, name En-tête obligatoire
pick_rules Chacune a id, name, kinds et rules (paliers, critères, limites de taille, protocole, langue, ordre)
naming Chacun a id, name et patterns (les paramètres de nommage listés plus haut)
release_tests Chacune a id, name, release_name, hints et expected (type, qualité, résolution, source, codec, indicateurs)
Routes et réponses
Route Succès Refus
POST /api/v1/data-packs/validate 200 avec valid et un résumé 400 invalide, 413 trop volumineux
POST /api/v1/data-packs 201 avec un résumé, statut inactive 409 identifiant déjà pris, 400, 413
GET /api/v1/data-packs 200 avec data_packs
GET /api/v1/data-packs/{id} 200 avec le JSON du pack 404
GET /api/v1/data-packs/{id}/preview 200 avec approval_hash 400 pour tout paramètre autre que pick_rule_id et naming_id, 404
POST /api/v1/data-packs/{id}/apply 200 avec pack_id, pick_rule_ids, naming_id 409 périmé, 400, 404

HolyArrs est gratuit. S'il vous a fait gagner du temps, mettez-lui une étoile sur GitHub, sponsorisez-le ou offrez-moi un café.