ข้ามไปยังเนื้อหา

Data pack

ผู้เชี่ยวชาญ

คัดลอกกฎการเลือก รูปแบบการตั้งชื่อ หรือการตรวจชื่อรีลีสจากเครื่องที่ติดตั้งเครื่องหนึ่งไปอีกเครื่อง

Data pack คือไฟล์ JSON ที่มีแต่ข้อมูล รันโค้ด ดึงที่อยู่ เพิ่มรายการ เปลี่ยนผู้ใช้ แตะไฟล์สื่อ หรือพกความลับไม่ได้

  • คุณใช้บัญชีเจ้าของ
  • คุณมี API key ที่มีขอบเขต admin คีย์ที่เป็น health_read, read หรือ write จะถูกปฏิเสธ
  • คุณมี JSON ของแพ็ก ใช้แพ็กที่ได้รับมา หรือเขียนเองตามรูปแบบใต้หัวข้อ สำหรับผู้เชี่ยวชาญ

ทุก route อยู่ที่ 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. ส่งตัวเลือกเดิมพร้อมค่าแฮชไปที่ 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

Body ของ apply:

{
"pick_rule_ids": ["balanced-web"],
"naming_id": "readable",
"approval_hash": "the hash returned by preview"
}
  • กฎการเลือกที่เลือกแต่ละกฎจะถูกสร้างใหม่ และไม่ถูกกำหนดให้รายการใดเลย
  • ชุดการตั้งชื่อที่เลือกจะแทนที่เฉพาะค่าเหล่านี้:
    • รูปแบบไฟล์และโฟลเดอร์ของภาพยนตร์
    • รูปแบบโฟลเดอร์ซีรีส์ โฟลเดอร์ซีซัน โฟลเดอร์ตอนพิเศษ ตอน รายวัน และอนิเมะ
    • รูปแบบโฟลเดอร์ศิลปิน โฟลเดอร์อัลบั้ม โฟลเดอร์แผ่น แทร็ก และแทร็กของอัลบั้มหลายแผ่น
    • การจัดรูปแบบเครื่องหมายโคลอนและอักขระที่ใช้ไม่ได้
    • รูปแบบหลายตอน รูปแบบวันฉาย และจำนวนหลักของเลขต่อเนื่อง
  • การเปลี่ยนชื่อตอนนำเข้า พฤติกรรมของโฟลเดอร์ การอ่านแท็ก และขีดจำกัดการสแกน ไม่อยู่ในแพ็กเลย

อาการ: Apply บอกว่า preview ล้าสมัย สาเหตุ: แพ็ก ชื่อกฎการเลือกที่จะชนกัน หรือค่าการตั้งชื่อที่จะถูกแทนที่ เปลี่ยนไปหลังจาก preview ยังไม่มีอะไรถูก apply วิธีแก้: ทำ preview ใหม่แล้วส่งค่าแฮชใหม่

อาการ: การนำเข้าบอกว่ามีแพ็กนี้อยู่แล้ว สาเหตุ: แพ็กจะไม่ถูกแทนที่ วิธีแก้: ตั้ง id อื่นให้แพ็กใหม่

อาการ: ข้อผิดพลาดเรื่องสิทธิ์ สาเหตุ: คีย์ไม่ใช่คีย์ admin ที่เจ้าของสร้าง วิธีแก้: สร้างคีย์ admin ในฐานะเจ้าของแล้วใช้คีย์นั้น

ขีดจำกัดและการปฏิเสธ
ขีดจำกัด ค่า
format holyarrs-data-pack
version 1
ขนาดของแพ็กหรือการส่งออก 256 KiB
กฎการเลือก 32
ชุดการตั้งชื่อ 8
การตรวจชื่อรีลีส 256
Id 1 ถึง 64 ตัวอักษร: ตัวพิมพ์เล็ก ตัวเลข จุด ขีดกลาง ขีดล่าง ขึ้นต้นและลงท้ายด้วยตัวอักษรหรือตัวเลข
Body ของคำขอ apply 16 KiB

แพ็กจะถูกปฏิเสธถ้ามีฟิลด์ซ้ำหรือไม่รู้จัก มี JSON เกินหลังจุดสิ้นสุด มีชื่อคุณภาพหรือคุณสมบัติที่ไม่รู้จัก มีคำตั้งชื่อที่ผิด มี version ที่ไม่ใช่ 1 หรือมีค่าเกินขีดจำกัดเหล่านี้ การตรวจชื่อรีลีสแต่ละรายการจะรันผ่านตัวแยกวิเคราะห์ของ HolyArrs และต้องตรงกับทุกข้อมูลที่คาดไว้

รูปแบบของแพ็ก
ฟิลด์ เก็บอะไร
format, version, id, name ส่วนหัวที่จำเป็น
pick_rules แต่ละรายการมี id, name, kinds และ rules (ขั้น คุณสมบัติ ขีดจำกัดขนาด โปรโตคอล ภาษา ลำดับ)
naming แต่ละรายการมี id, name และ patterns (ค่าการตั้งชื่อที่ระบุไว้ข้างต้น)
release_tests แต่ละรายการมี id, name, release_name, hints และ expected (ชนิด คุณภาพ ความละเอียด แหล่งที่มา codec flag)
Route และการตอบกลับ
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, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา