「工具」Openlist 网盘剧集文件批量重命名工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xiaobili
V2EX    分享创造

「工具」Openlist 网盘剧集文件批量重命名工具

  •  
  •   xiaobili 4 天前 702 次点击

    OpenList 交互式剧集重命名工具

    一个基于 Python 的交互式工具,用于连接 OpenList 服务并批量重命名剧集文件。该工具提供了直观的命令行界面,支持多种重命名模式,让剧集整理变得简单高效。

    项目地址

    https://github.com/xiaobili/openlist_episode_rename

    功能特性

    核心功能

    • 目录浏览 - 交互式导航 OpenList 文件系统
    • 批量重命名 - 支持多种重命名模式的批量操作
    • 剧集信息识别 - 自动从文件名中提取剧集信息
    • 多模式重命名 - 智能识别、手动输入、统一样式等多种方式

    重命名模式

    • 智能重命名 - 自动识别文件名中的剧集信息并标准化
    • 手动重命名 - 逐个为文件指定新名称
    • 统一样式 - 为所有文件使用相同模式,自动递增集数
    • 正则替换 - 使用正则表达式进行高级重命名

    用户体验

    • Rich 界面 - 提供美观的终端界面( rich 版本)
    • 进度指示 - 操作过程中的可视化进度条
    • 确认机制 - 重命名前预览和确认
    • 错误处理 - 完善的异常处理和错误提示

    新增功能

    • Token 持久化 - 登录后将 JWT 令牌保存到本地文件 $EPISODE_PATH/token,实现免登录访问
    • 自动登录恢复 - 启动时自动检测并使用有效的本地令牌,无需重复输入凭据
    • 配置文件管理 - 将 OpenList 服务地址等配置信息保存到用户主目录下的 .episoderenamer_config.ini 文件中

    系统要求

    • Python 3.7+
    • 网络连接到 OpenList 服务

    依赖包

    pip install requests rich 

    安装使用

    1. 克隆或下载项目

    # 下载项目文件 

    2. 安装依赖

    pip install requests rich 

    3. 运行程序

    # Rich 美化版(推荐) python interactive_episode_renamer_with_rich.py # 基础版本 python interactive_episode_renamer.py 

    配置参数

    连接设置

    • 服务地址: OpenList 服务的 URL (如 http://192.168.1.1:5244
    • 用户名: OpenList 账户用户名
    • 密码: OpenList 账户密码

    Token 持久化设置

    • 令牌路径: 系统环境变量 $EPISODE_PATH,令牌文件名为 token
    • 默认路径: 如果未设置 $EPISODE_PATH,令牌将保存到 /tmp/token

    配置文件设置

    • 配置文件路径: 用户主目录下的 .episoderenamer_config.ini
    • 默认地址: 配置文件中保存的默认 OpenList 服务地址
    • 自动加载: 启动时自动从配置文件加载默认地址

    支持的视频格式

    .mp4, .mkv, .avi, .mov, .wmv, .flv, .webm, .m4v, .mpg, .mpeg, .ts, .m2ts, .vob, .iso

    使用指南

    1. 登录验证

    • 启动程序后,系统会首先尝试从本地文件加载令牌
    • 如果令牌存在且有效,将跳过登录步骤
    • 如果令牌不存在或已过期,需要输入 OpenList 服务地址、用户名和密码

    2. 配置管理

    • 首次运行时,需要输入 OpenList 服务地址
    • 地址将自动保存到配置文件中
    • 后续运行时,默认地址将从配置文件加载

    3. 目录导航

    • 选择数字进入子目录
    • 0 键返回上级目录
    • 查看当前目录的文件和子目录

    4. 重命名操作

    • 选择视频文件进行批量重命名
    • 选择重命名模式:
      • 智能重命名: 自动解析剧集信息
      • 手动重命名: 逐一指定新名称
      • 统一样式: 统一格式,递增集数

    5. 命名模式示例

    • {title}.S{season}E{episode:02d}权力的游戏.S01E01.mp4
    • Season_{season}_Episode_{episode:02d}_{title}Season_01_Episode_01_权力的游戏.mp4

    技术架构

    主要组件

    • InteractiveEpisodeRenamer - 核心重命名类
    • API 集成 - 与 OpenList API 通信
    • 文件系统操作 - 目录浏览和文件重命名
    • Token 管理 - 本地令牌持久化和自动加载
    • 配置管理 - 本地配置文件读写和管理

    API 接口

    • /api/auth/login - 用户认证
    • /api/fs/list - 获取目录内容
    • /api/fs/batch_rename - 批量重命名

    贡献指南

    欢迎提交 Issue 和 Pull Request 来改进这个项目!

    许可证

    遵循 MIT 许可证。详情请参阅 LICENSE 文件。

    支持

    如遇到问题,请检查:

    1. OpenList 服务是否正常运行
    2. 网络连接是否稳定
    3. 用户名和密码是否正确
    4. API 端点是否可用
    5. $EPISODE_PATH 环境变量是否正确设置(用于令牌持久化)
    6. 配置文件是否存在且格式正确

    享受整洁有序的剧集收藏!

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5475 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 07:03 PVG 15:03 LAX 23:03 JFK 02:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86