Open dddepg opened 7 months ago
qb下载后提倡做做种,增加点分享精神 以及避免被拉黑ip
我个人使用环境为群晖 docker 环境,因此使用方式为使用 python3 运行 EpisodeReName.py 文件,windows 环境下暂时不清楚是如何调用的,因此下文的讨论将基于该文件的代码
os.link
通过查看源码可看到在 812 行进行了如下操作:
tmp_name = new + '.new' os.rename(old, tmp_name) # 目标文件已存在, 先删除 if os.path.exists(new): os.remove(new) # 临时文件重命名 os.rename(tmp_name, new)
可以看到程序是直接将原文件(old)使用 os.rename 方法进行了重命名。
os.rename
是否可以考虑使用 os.link 方法来创建硬链接呢?硬链接与原文件指向的是同一个内容区块,同时不会占用实际空间,昨晚尝试之后在 jellyfin 中也可以顺利识别到。
缺陷在于该方法仅在 windows 环境与 unix 环境下可使用不过该项目的目标环境本来也就这俩吧
查看文件,S01E11 是创建的硬链接,可以看到与下方实际存在的文件指向同一个数据块,第二个则是查看实际占用磁盘空间
jellyfin 中也能正常识别到文件
创建硬链接后与原文件在同一目录下,会对 jellyfin 等的扫描出现干扰,也许可以增加一个前缀,如下所示:
if move_up_to_season_folder: new_path = format_path(prefix + ‘/’ +season_path + '/' + new_name) else: new_path = format_path(prefix + ‘/’ +parent_folder_path + '/' + new_name)
这样就可以将另外一个文件夹映射为媒体库了,同时不干扰做种。
不过这个方法还没测试过,先提出一个可能性吧
顺便一提使用 os.symlink 方法的话 jellyfin 会产生报错,稍微看了一眼似乎是无法通过软链接读取到实际文件的样子
os.symlink
原因
qb下载后提倡做做种,增加点分享精神
以及避免被拉黑ip个人使用环境
我个人使用环境为群晖 docker 环境,因此使用方式为使用 python3 运行 EpisodeReName.py 文件,windows 环境下暂时不清楚是如何调用的,因此下文的讨论将基于该文件的代码
可能的优化更名方式
os.link
通过查看源码可看到在 812 行进行了如下操作:
可以看到程序是直接将原文件(old)使用
os.rename
方法进行了重命名。是否可以考虑使用
os.link
方法来创建硬链接呢?硬链接与原文件指向的是同一个内容区块,同时不会占用实际空间,昨晚尝试之后在 jellyfin 中也可以顺利识别到。缺陷在于该方法仅在 windows 环境与 unix 环境下可使用
不过该项目的目标环境本来也就这俩吧示例截图
查看文件,S01E11 是创建的硬链接,可以看到与下方实际存在的文件指向同一个数据块,第二个则是查看实际占用磁盘空间
jellyfin 中也能正常识别到文件
仍需优化的问题
创建硬链接后与原文件在同一目录下,会对 jellyfin 等的扫描出现干扰,也许可以增加一个前缀,如下所示:
这样就可以将另外一个文件夹映射为媒体库了,同时不干扰做种。
不过这个方法还没测试过,先提出一个可能性吧