跳到內容

資料包

進階

把挑選規則、命名格式或發行版名稱檢查,從一個安裝複製到另一個安裝。

資料包是一個只含資料的 JSON 檔案。它不能執行程式碼、不能擷取位址、不能新增作品、不能變更使用者、不能動到媒體檔案,也不能攜帶機密資料。

  • 你是擁有者。
  • 你有一把具有 admin 範圍的 API 金鑰。具有 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 和你選擇的規則 id。

預覽:

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

套用的 body:

{
"pick_rule_ids": ["balanced-web"],
"naming_id": "readable",
"approval_hash": "the hash returned by preview"
}
  • 你選擇的每條挑選規則都會新建一條。它不會指派給任何作品。
  • 你選擇的命名組合只會取代這些設定:
    • 電影檔案與資料夾格式。
    • 影集資料夾、季資料夾、特別篇資料夾、集、每日和動畫格式。
    • 藝人資料夾、專輯資料夾、光碟資料夾、曲目和多光碟曲目格式。
    • 冒號與非法字元的處理格式。
    • 多集格式、播出日期格式和絕對編號的位數。
  • 匯入時重新命名、資料夾行為、標籤讀取和掃描限制,絕不會放在資料包裡。

症狀: 套用時顯示預覽已過期。 原因: 預覽之後,資料包、會發生衝突的挑選規則名稱,或是它要取代的命名設定有了變更。沒有任何東西被套用。 解決方式: 重新預覽,並送出新的 hash。

症狀: 匯入時顯示資料包已存在。 原因: 資料包絕不會被取代。 解決方式: 給新的資料包另一個 id。

症狀: 權限錯誤。 原因: 這把金鑰不是由擁有者建立的 admin 金鑰。 解決方式: 以擁有者身分建立一把 admin 金鑰並使用它。

限制與拒絕的情況
限制 值
format holyarrs-data-pack
version 1
資料包或匯出檔的大小 256 KiB
挑選規則 32
命名組合 8
發行版名稱檢查 256
Id 1 到 64 個字元:小寫字母、數字、點、連字號、底線。開頭和結尾必須是字母或數字
套用請求的 body 16 KiB

資料包在下列情況會被拒絕:欄位重複或未知、JSON 結尾之後還有多餘內容、品質或特徵名稱未知、命名用字不正確、版本不是 1,或是數值超過這些限制。每個發行版名稱檢查都會經過 HolyArrs 的解析器,而且必須符合它預期的每一項事實。

資料包格式
欄位 內容
format、version、id、name 必要的標頭
pick_rules 每條都有 id、name、kinds 和 rules(階段、特徵、大小限制、protocol、語言、順序)
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 上給顆星、贊助專案,或請我喝杯咖啡。