从 The Movie Database(TMDb) 获取剧集/电影信息,并对 Alist 指定媒体文件重命名,便于播放器刮削识别剧集/电影。测试Kodi, Nplayer, Infuse均可正确识别媒体信息。
Project description
从 The Movie Database(TMDb) 获取剧集/电影信息,并对 Alist 指定媒体文件重命名,便于播放器刮削识别剧集/电影。测试Kodi, Nplayer, Infuse均可正确识别媒体信息。
ToDo
- 重命名异步操作,速度极快
- 自动通过 Alist 2FA 验证
- 支持电影/剧集文件重命名
- 根据关键字/TMDB ID 搜索媒体信息
- 从指定季数、指定集数开始重命名文件
- 自动排除已重命名成功的文件
- 指定文件重命名格式
下载安装
环境要求
Python(>=3.9),建议使用 3.12 版本,已在 Windwos 11/Linux 测试通过。
使用pip安装
# 从 PyPI 安装包
pip install AlistMediaRename
# 从 PyPI 升级包
pip install --upgrade AlistMediaRename
使用pipx安装
# 请确保已安装 pipx
# pipx 可以隔离安装,不对全局 Python 造成污染
# 使用 pipx 安装
pipx install AlistMediaRename
# 使用 pipx 更新
pipx upgrade AlistMediaRename
使用uv安装
# 请确保已安装 uv
# uv 可以隔离安装,不对全局 Python 造成污染
# 使用 pipx 安装
uv tool install AlistMediaRename
# 使用 pipx 更新
uv tool upgrade AlistMediaRename
本地运行
# clone 项目
git clone https://github.com/jkoor/Alist-Media-Rename.git
# 进入目录
cd Alist-Media-Rename
# 安装依赖
pip install .
快速开始
获取 TMDb API 密钥
首次运行会要去输入 TMDb API 密钥, 用于获取 TMDb 电影/剧集信息,可前往 TMDb 开发者网站免费申请。
Alist 2FA 验证(未开启可跳过)
若用户开启了 Alist 2FA 验证功能,则需要提供验证密钥(非6位验证码),可通过保存验证码的对应 APP 获取,或者扫描初次绑定的二维码,可获取一串代码,最后的 sercet 字段即为 base64 密钥,格式为一串包含数字和字母的长字段,如:2ELR4M···KVH563X
基本命令
初始使用请按提示输入 Alist 网址、账号、密码、2FA 密钥以及 TMDb API 密钥,配置信息会保存在同目录下config.yaml文件中。
# 根据剧集关键字获取剧集信息,并对指定文件夹中的媒体文件重命名
amr [剧集关键字] -d [Alist 文件夹路径]
# 根据剧集id精确获取剧集信息,并对指定文件夹中的媒体文件重命名
amr [剧集id] -d [Alist 文件夹路径] -i
# 若要对电影文件进行重命名,请加上 -m 参数
amr [电影关键字] -d [Alist 文件夹路径] -m
amr [电影id] -d [Alist 文件夹路径] -m -i
# 若 Alist 指定文件夹设有访问密码,请加上 -p [password] 参数
amr [剧集关键字] -d [Alist 文件夹路径] -p [路径访问密码]
# 指定剧集集号重命名,请加上 -n [number] 参数,【-】 代表连续,【,】代表多集
amr [剧集关键字] -d [Alist 文件夹路径] -n [集号]
# 只对第1集重命名
amr [剧集关键字] -d [Alist 文件夹路径] -n 1
# 从第1集开始重命名
amr [剧集关键字] -d [Alist 文件夹路径] -n 1-
# 对第1,2,3,4集开始重命名
amr [剧集关键字] -d [Alist 文件夹路径] -n 1-4
# 对第2,3集开始重命名
amr [剧集关键字] -d [Alist 文件夹路径] -n 2,3
# 对第1,3,4,5,7,10-最后一集进行重命名
amr [剧集关键字] -d [Alist 文件夹路径] -n 1,3-5,7,10-
# 获取完整使用帮助信息
amr -h
举个例子
TMDb 的剧集/电影 id 为对应网址中的数字,如剧集《刀剑神域》的 id 为 45782,电影《刀剑神域:序列之争》的 id 为 413594
剧集《刀剑神域》的视频及字幕文件在 Alist 网盘中路径为:/阿里云盘/动漫/SAO/
文件重命名前后对比:1.mp4 -> 刀剑神域-S01E01.剑的世界.mp4
# 通过关键字获取剧集信息,并重命名文件
amr 刀剑神域 -d /阿里云盘/动漫/SAO
# 通过剧集 id 获取剧集信息,并重命名文件,文件访问密码为123
amr -i 45782 -d /阿里云盘/动漫/SAO -p 123
电影《刀剑神域:序列之争》的视频及字幕文件在 Alist 网盘中路径为:/阿里云盘/电影/SAO
# 通过关键字获取电影信息,并重命名文件
amr -m 刀剑神域 -d /阿里云盘/电影/SAO
# 通过电影 id 获取电影信息,并重命名文件,文件访问密码为123
amr -m -i 413594 -d /阿里云盘/电影/SAO -p 123
配置说明
运行参数
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
| keyword | ☑ | TMDb 搜索字段 | |
| -d | ☑ | Alist 文件夹路径 | |
| --folder / --no-folder | 是否对父文件夹进行重命名 | ||
| -i, --id | 根据 TMDb id 获取剧集/电影信息 | ||
| -m, --movie | 查找电影信息,而不是剧集 | ||
| -p, --password | None | Alist 文件夹访问密码 | |
| -n, --number | 指定集号进行重命名 | ||
| -c, --config | ./config.yaml | 指定配置文件路径 | |
| -h, --help | 显示使用帮助信息 | ||
| -v, --version | 显示版本信息 | ||
| --verbose | 显示详细输出日志 |
配置文件
配置文件config.yaml默认保存在当前运行目录中,除基本的登录参数外,还包含几个可配置项,根据注释修改即可。
参考 default.yaml
模块使用
若需要在其他 Python 文件中调用本模块,可参考以下内容:
在AlistMediaRename库定义了一个类Amr(),根据代码注释要求传入相关参数,即可调用本程序的主函数
from AlistMediaRename import Amr, Config
# 第一种实例化方法,定义一个配置项
config = Config()
config.alist.url = "xxx"
config.alist.user = "xxx"
config.alist.password = "xxx"
config.alist.totp = "xxx"
config.tmdb.api_key = "xxx"
config.save("./config.yaml") # 保存配置到文件
config.load("./config.yaml") # 从文件中读取配置
amr = Amr(config)
# 第二种实例化方法,从文件中读取配置
amr = Amr("./config.yaml") # 从文件中读取配置,文件不存在则会自动创建
# 根据电影id获取TMDb信息,并重命名‘dir’指定路径文件
amr.movie_rename_id('keyword', 'dir', 'password')
# 根据电影关键词获取TMDb信息,并重命名‘dir’指定路径文件
amr.movie_rename_keyword('keyword', 'dir', 'password')
# 根据剧集id获取TMDb信息,并重命名‘dir’指定路径文件
amr.tv_rename_id('keyword', 'dir', 'password')
# 根据剧集关键词获取TMDb信息,并重命名‘dir’指定路径文件
amr.tv_rename_keyword('keyword', 'dir', 'password')
最后
-
本项目是受到了 GitHub 中一个获取TMDb信息并对本地文件重命名项目的启发:wklchris/Media-Renamer
-
TMDb API 在短时间内频繁使用会限制使用,如出现此情况请稍后再试
-
欢迎邮件联系,一起交流探讨:oharcy@outlook.com
-
本程序使用 TMDB API,但未经 TMDB 认可或认证。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alistmediarename-3.1.3.tar.gz.
File metadata
- Download URL: alistmediarename-3.1.3.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41c72927e29dd661ba6418d7ff7a55c2a591bed6b705419d49b73db2bc057949
|
|
| MD5 |
d163fd35793f5ba36e054473f204d82b
|
|
| BLAKE2b-256 |
eb6a9b0b7de7ec03b05fbda978c2073d5caccc3f6509839174a3c57389accd22
|
File details
Details for the file alistmediarename-3.1.3-py3-none-any.whl.
File metadata
- Download URL: alistmediarename-3.1.3-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50b944c2647c075176777ce8070dd2fa4b1fdbb8fef1896e5ae013b14f84b480
|
|
| MD5 |
73f68a4891eb1c300f57988d709e846c
|
|
| BLAKE2b-256 |
60b1d070def4258d5a049599deaec35c5c0c4740e8b8e86705e7f45c0a242f1f
|