mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-11-01 21:26:08 +08:00
125 lines
5.4 KiB
Markdown
125 lines
5.4 KiB
Markdown
# 文件重命名
|
||
|
||
AB 提供四种重命名方式:`pn`、`advance`、`template` 和 `none`。在 **设置 → 番剧管理设置 → 重命名方式** 中选择,默认为 `pn`。
|
||
|
||
从 4.0 开始,重命名方式由插件提供:
|
||
|
||
- `none` 由 AB 自带,始终可用。
|
||
- `pn`、`advance`、`template` 由内置插件「重命名」(`rename`)提供,默认启用。
|
||
- 其它插件也可以提供重命名方式,启用后出现在下拉框中。
|
||
|
||
在 **设置 → 插件** 中停用「重命名」插件后,所有番剧按 `none` 处理。插件连续 5 次出错被自动停用时也是如此。所选方式不可用时,AB 记录一次日志,并按 `none` 处理。
|
||
|
||
### pn
|
||
|
||
`pure name` 的缩写。以从文件名解析出的标题命名。
|
||
|
||
示例:
|
||
```
|
||
[Lilith-Raws] 86 - Eighty Six - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MKV].mkv
|
||
>>
|
||
86 - Eighty Six S01E01.mkv
|
||
```
|
||
|
||
### advance
|
||
|
||
高级重命名。以番剧文件夹名命名。
|
||
|
||
```
|
||
/downloads/Bangumi/86 - Eighty Six(2023)/Season 1/[Lilith-Raws] 86 - Eighty Six - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MKV].mkv
|
||
>>
|
||
86 - Eighty Six(2023) S01E01.mkv
|
||
```
|
||
|
||
`pn` 与 `advance` 的结果与 3.x 完全相同。剧场版不加 `SxxExx`;字幕文件在扩展名前加语言,如 `.zh.ass`。
|
||
|
||
### template
|
||
|
||
按自定义模板命名。模板在 **设置 → 插件 → 重命名** 的「文件名模板」中填写。
|
||
|
||
### none
|
||
|
||
不重命名。文件保持原样。
|
||
|
||
## 模板重命名
|
||
|
||
::: v-pre
|
||
默认模板如下。普通剧集的结果与 `pn` 相同;剧场版 `pn` 不加 `SxxExx`,默认模板会加:
|
||
|
||
```
|
||
{{ title }} S{{ season|pad(2) }}E{{ episode|pad(2) }}
|
||
```
|
||
|
||
模板使用 [Jinja2](https://jinja.palletsprojects.com/) 语法,在沙箱中渲染。可用变量:
|
||
|
||
| 变量 | 含义 | 示例 |
|
||
| --- | --- | --- |
|
||
| `title` | 从文件名解析出的标题 | `葬送的芙莉莲` |
|
||
| `bangumi_name` | 番剧文件夹名 | `葬送的芙莉莲 (2023)` |
|
||
| `season` | 季度,取自 Season 文件夹,已含季度偏移 | `1` |
|
||
| `episode` | 集数,已含集数偏移;半集保留小数 | `5`、`12.5` |
|
||
| `episode_type` | `episode`、`movie` 或 `special` | `episode` |
|
||
| `group` | 字幕组,可能为空 | `ANi` |
|
||
| `kind` | `media`(正片)或 `subtitle`(字幕) | `media` |
|
||
| `language` | 字幕语言,正片为空 | `zh` |
|
||
|
||
过滤器 `pad(n)` 把数字的整数部分补零到 n 位(省略 n 时为 2),小数部分保留:`{{ episode|pad(3) }}` 得到 `005`,`{{ 12.5|pad(2) }}` 得到 `12.5`。
|
||
|
||
- 模板只生成文件名主体。AB 自动追加扩展名;字幕在扩展名前追加 `.语言`,如 `.zh.ass`。
|
||
- 模板对剧场版不做特殊处理。需要区分时,用 `episode_type` 判断,例如 `{% if episode_type == "movie" %}{{ bangumi_name }}{% else %}…{% endif %}`。保存时的检查只渲染一个普通剧集示例,示例不经过的分支中的错误,要到重命名时才出现。
|
||
|
||
示例:`[{{ group }}] {{ bangumi_name }} - {{ episode|pad(2) }}` → `[ANi] 葬送的芙莉莲 (2023) - 05.mkv`
|
||
:::
|
||
|
||
### 模板出错时
|
||
|
||
- **保存时**:AB 用一个示例文件试渲染模板。语法错误、使用了不存在的变量、渲染结果不合法时,保存被拒绝,原模板保持不变。
|
||
- **运行时**:某个文件渲染失败、结果为空,或含 `/`、`\`、控制字符时,该文件**保留原名**,AB 发送「文件未重命名」通知。同一种子、同一原因在 AB 运行期间只通知一次。该种子不打 `ab:renamed` 标签,修正模板后下一轮自动重试。**不会退回 `pn`。**
|
||
- **手工修改 `config.json`**:已保存的模板不合法时,整个「重命名」插件加载失败,`pn`、`advance`、`template` 都不可用,所有番剧按 `none` 处理。插件卡片上显示错误原因。
|
||
|
||
::: warning
|
||
更换重命名方式(包括修改模板)只影响之后整理的种子。已整理完成(带 `ab:renamed` 标签)的种子不会被重新命名。
|
||
:::
|
||
|
||
`config.json` 中的位置见 [番剧管理设置](../config/manager.md)。
|
||
|
||
## 收藏重命名
|
||
|
||
AB 支持收藏重命名。收藏重命名需要:
|
||
- 剧集位于收藏的一级目录中
|
||
- 可以从文件名解析出剧集编号
|
||
|
||
AB 还可以重命名一级目录中的字幕文件。
|
||
|
||
重命名后,剧集和目录将放置在 `Season` 文件夹中。
|
||
|
||
重命名后的收藏将被移动并归类到 `BangumiCollection` 下。
|
||
|
||
## 剧集偏移
|
||
|
||
从 v3.2 开始,AB 支持重命名时的剧集偏移。在以下情况下很有用:
|
||
- RSS 显示的剧集编号与预期不同(例如 S2E01 应该是 S1E29)
|
||
- 番剧因播出间隔而产生"虚拟季度"
|
||
|
||
当为番剧配置偏移后,AB 会在重命名时自动应用:
|
||
|
||
```
|
||
原始:S02E01.mkv
|
||
应用偏移(季度:-1,剧集:+28):S01E29.mkv
|
||
```
|
||
|
||
配置偏移:
|
||
1. 点击番剧海报
|
||
2. 打开高级设置
|
||
3. 设置季度偏移和/或剧集偏移值
|
||
4. 或使用"自动检测"让 AB 建议正确的偏移
|
||
|
||
有关自动检测的更多详情,请参阅[番剧管理](./bangumi.md#剧集偏移自动检测)。
|
||
|
||
## 整理之后
|
||
|
||
重命名完成后,AB 发布「整理完成」事件,重命名方式为 `none` 时也会发布。内置插件可以在此之后继续处理文件:
|
||
|
||
- [硬链接到媒体库](./hardlink.md):把整理好的文件链接到另一个目录,下载目录继续做种。
|
||
- 「媒体库刷新」(`media-server-refresh`):请求 Jellyfin、Emby 或 Plex 刷新媒体库。见 [番剧管理设置](../config/manager.md)。
|