דלגו לתוכן

חבילות נתונים

מומחה

העתק את כללי הבחירה, תבניות השמות או בדיקות שם גרסת ההפצה שלך מהתקנה אחת לאחרת.

חבילת נתונים היא קובץ JSON עם נתונים בלבד. היא לא יכולה להריץ קוד, לפנות לכתובת, להוסיף כותר, לשנות משתמש, לגעת בקבצי מדיה או לשאת סודות.

  • אתה הבעלים.
  • יש לך מפתח API עם ה-scope admin. מפתחות עם health_read, read או write נדחים.
  • יש לך את ה-JSON של החבילה. השתמש בחבילה שקיבלת, או כתוב אחת לפי המבנה שתחת למומחים.

כל הנתיבים נמצאים ב-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 של החבילה ואת ה-ids של הכללים שבחרת.

תצוגה מקדימה:

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"
}
  • כל כלל בחירה שנבחר נוצר מחדש כחדש. הוא לא משויך לאף כותר.
  • ערכת שמות שנבחרה מחליפה רק את ההגדרות האלה:
    • תבניות קובץ ותיקייה של סרט.
    • תבניות של תיקיית סדרה, תיקיית עונה, תיקיית פרקים מיוחדים, פרק, פרק יומי ואנימה.
    • תבניות של תיקיית אמן, תיקיית אלבום, תיקיית דיסק, רצועה ורצועה באלבום מרובה דיסקים.
    • עיצוב של נקודתיים ותווים אסורים.
    • סגנון פרקים מרובים, סגנון תאריך שידור וספרות של מספר מוחלט.
  • שינוי שם בייבוא, התנהגות תיקיות, קריאת תגיות ומגבלות סריקה אף פעם לא נכללים בחבילה.

תסמין: ה-apply אומר שהתצוגה המקדימה ישנה. סיבה: החבילה, שם של כלל בחירה שהיה מתנגש, או הגדרת שמות שהיא תחליף השתנו אחרי התצוגה המקדימה. שום דבר לא הוחל. פתרון: הרץ שוב תצוגה מקדימה ושלח את ה-hash החדש.

תסמין: הייבוא אומר שהחבילה כבר קיימת. סיבה: חבילות אף פעם לא מוחלפות. פתרון: תן לחבילה החדשה id אחר.

תסמין: שגיאת הרשאה. סיבה: המפתח הוא לא מפתח admin שנוצר על ידי הבעלים. פתרון: צור מפתח admin כבעלים והשתמש בו.

מגבלות וסירובים
מגבלה ערך
format holyarrs-data-pack
version 1
גודל של חבילה או של ייצוא 256 KiB
כללי בחירה 32
ערכות שמות 8
בדיקות שם גרסת הפצה 256
Ids 1 עד 64 תווים: אותיות קטנות, ספרות, נקודות, מקפים, קווים תחתונים. מתחילים ומסתיימים באות או בספרה
גוף של בקשת apply 16 KiB

חבילה נדחית בגלל שדות כפולים או לא מוכרים, JSON מיותר אחרי הסוף, שמות איכות או מאפיינים לא מוכרים, מילות שמות שגויות, גרסה שאינה 1, או ערכים מעבר למגבלות האלה. כל בדיקת שם גרסת הפצה רצה דרך המנתח של 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)
נתיבים ותגובות
נתיב הצלחה סירוב
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 לכל שאילתה חוץ מ-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, תמוך בפרויקט או קנה לי קפה.