数据包
进阶
把你的挑选规则、命名格式或资源名检查从一个安装复制到另一个安装。
数据包是一个只含数据的 JSON 文件。它不能运行代码、访问地址、添加条目、改动用户、碰媒体文件,也不能携带机密信息。
开始之前
开始之前 的链接- 你是所有者。
- 你有一个带
admin权限范围的 API 密钥。带health_read、read或write的密钥会被拒绝。 - 你手上有数据包的 JSON。用别人给你的数据包,或者照着进阶里的结构自己写一个。
迁移一个数据包
迁移一个数据包 的链接所有路由都在 http://your-server:6262 上。
- 把数据包发给
POST /api/v1/data-packs/validate。它只检查,不保存。你应该会看到"valid": true。 - 把同一份 JSON 发给
POST /api/v1/data-packs。它会把数据包保存为未启用状态。此时什么都还没变。 - 打开
GET /api/v1/data-packs列出已保存的数据包。GET /api/v1/data-packs/{id}导出其中一个。 - 打开
GET /api/v1/data-packs/{id}/preview,每条规则带一个pick_rule_id,最多带一个naming_id。你会得到一个approval_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应用的请求体:
{ "pick_rule_ids": ["balanced-web"], "naming_id": "readable", "approval_hash": "the hash returned by preview"}应用会改动什么
应用会改动什么 的链接- 每条选中的挑选规则都是新建的。它不会分配给任何条目。
- 选中的命名方案只替换这些设置项:
- 电影的文件和文件夹格式。
- 剧集文件夹、季文件夹、特别篇文件夹、集、按日期播出和动画的格式。
- 艺人文件夹、专辑文件夹、碟片文件夹、曲目和多碟曲目的格式。
- 冒号和非法字符的处理方式。
- 多集样式、播出日期样式和绝对集数的位数。
- 导入时重命名、文件夹行为、标签读取和扫描限制从不包含在数据包里。
如果不成功
如果不成功 的链接现象:应用时提示预览已过期。 原因:预览之后,数据包、某个会重名的挑选规则名称,或者某个要被替换的命名设置项变了。什么都没有应用。 解决办法:重新预览,再发送新的哈希值。
现象:导入时提示数据包已存在。 原因:数据包永远不会被替换。 解决办法:给新数据包换一个 id。
现象:权限错误。
原因:这个密钥不是所有者创建的 admin 密钥。
解决办法:以所有者身份创建一个 admin 密钥,然后用它。
进阶
进阶 的链接限制和拒绝的情况
| 限制 | 值 |
|---|---|
format |
holyarrs-data-pack |
version |
1 |
| 一个数据包或一次导出的大小 | 256 KiB |
| 挑选规则 | 32 |
| 命名方案 | 8 |
| 资源名检查 | 256 |
| id | 1 到 64 个字符:小写字母、数字、点、短横线、下划线。以字母或数字开头和结尾 |
| 应用的请求体 | 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(类型、画质、分辨率、片源、编码、标记) |
路由和响应
| 路由 | 成功 | 拒绝 |
|---|---|---|
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 |
查询参数不是 pick_rule_id 或 naming_id 时 400,404 |
POST /api/v1/data-packs/{id}/apply |
200,带 pack_id、pick_rule_ids、naming_id |
409 已过期,400,404 |
相关页面
相关页面 的链接HolyArrs 是免费的。如果它帮你省了时间,欢迎在 GitHub 上点个 Star、赞助它或请我喝杯咖啡。