-
Notifications
You must be signed in to change notification settings - Fork 3
Album Draft (AD)
AD 的目的是按规范要求处理可能含有专辑的文件夹或压缩文件.
目前 AD 以 AD.py
实现, 是一个 Python CLI 脚本. 在 Windows 平台如果使用 Python launcher 则将输入直接拖动到脚本文件上即可.
AD.py
接受任意数目的路径作为输入, 并将每个输入路径作为一个可能的专辑来源, 然后对于每个专辑来源自动进行以下操作:
-
如果来源是一个压缩文件, 则先将其解压到可设置的临时目录 (支持带密码文件)
-
然后列出该来源目录下的所有可能属于专辑相关的文件 (专辑音频/CUE/LOG/扫图/MV等), 检查所有这些文件的有效性
如果不存在接受的文件或存在出错的文件, 则停止处理该来源
-
逐个检视来源下每个子目录的内容, 将其文件内部记录为碟片(Discs)/扫图(Scans)/视频(SPs)
AD 会尽其所能识别来源下的多碟片情况, 区分整轨和分轨, 并为其搭配 CUE/LOG/COVER 等配属文件
但如果来源文件的布局非常罕见, AD 仍有可能识别错误目录布局
对于每个碟片 AD 最多会为其分配一张最有可能是 Cover 的图片文件, 其余的均会被划入 Scans
-
开始处理识别后的碟片(Discs)/扫图(Scans)/视频(SPs)内容:
-
对每个碟片: 如果需要转码, 将其转码并输出到输出目录; 如果不需要转码, 尝试硬链接或复制到输出目录
每张碟片在输出目录下有一个专门的子目录
-
对所有扫图: 如果需要转码, 将其转码并输出到输出目录; 如果不需要转码, 尝试硬链接或复制到输出目录
输出的扫图文件在输出目录下的 Scans 目录下会暂时保留原来的相对路径
然后进行文件名去冗和目录层级去冗
-
对所有视频: 尝试硬链接或复制到输出目录
输出的视频文件在输出目录下的 SPs 下, 不会保留原来的相对路径
-
对每个有效的输入路径, AD 生成一个对应 AD-YYMMDD-HHMMSS-0123-原目录或文件名
的输出目录.
AD 无法判断实际内容, 只会按拓展名白名单无脑保留文件, 因此也会保留实际不属于专辑的其它文件, 因此你始终需要人工检视一遍输出目录下的所有文件
每个输出目录下就是初步处理好的专辑目录(碟片/扫图/视频), 接下来可以手动摆放+进一步处理为 CDs 标准目录或使用 AP 进行半自动组织.