erobug 发表于 2021-7-23 08:56:39

python瞎写的单集nfo预生成工具(真的很破

大家好呀,视奸了很久的vcb论坛今天终于爬出来水一帖

以下是有点长的前情提要:
前阵子搭了NAS以后各种折腾媒体库,奈何NAS上能用的媒体库普遍拉以及并没有功能纯粹的非媒体库播放投屏软件,最后的处理方案定为tmm(anidb刮削)+emby,为了偶尔的保种是不可能重命名文件的,所以tmm绝大部分时候刮不到集跟季度的,甚至有时候还会把1080p识别成108集之类的,但是tvshow.nfo跟海报是基本没问题,emby则是在保持原文件夹结构且不重命名的情况下扫库会扫得非常奇葩
--此处略去大量折腾与bug发现过程--
总之最后发现,如果可以预生成包含季度与集数的单集nfo,此时再由tmm刮削,就可以非常顺利地获取剧集nfo、海报以及单集标题,emby之后导入也不会抽风
于是有了这样的对话
我:有没有那种,可以根据基于文件名的正则表达式一键生成txt的好用软件?
友:不如……你学个python?

然后我用了一晚上从0开始学pythonhttps://bbs.acgrip.com/static/image/smiley/acnew/9.png


写码经历仅限十几年前必修C++跟偶尔用用mathematica,勉强搞了这么个东西出来
因为个人绝大多库存要么是vcbs式命名要么是jsum式命名,所以直接分两个类型单独搞就可以完成了
虽然我觉得有同种需求的人大概随便拿个出来都能10分钟搞定这个需求{:8_706:},还是发出来看看有没有机会能得到大佬指点

功能:
对vcb-s命名方式的文件夹及内部文件,可以一键生成若干文件夹内mkv同名的nfo文件,该文件包括season与episode项目
不会生成文件夹内单独OVA的nfo
使用:

把py跟需要生成的若干文件夹放在同一文件夹内,运行py
限制:
因为媒体库没合并相同剧目的不同季度所以根据个人习惯season全部为1了(,并且title会由dmm生成所以就直接统一给了动画名
仅限vcb-s以及类似格式的命名,具体为文件夹格式为
[任意内容] 动画名 [任意内容
文件格式为
[任意内容] 动画名 [集数][任意内容
此处任意内容不可包含[]

碰到的问题:
本来的想法是,从文件夹名获取动画名,然后findall搜索动画名后首次出现的连续两个0-9的数字为集数
但是这样会需要findall第一个参数为基于动画名的变量,好像是要基于compile跟format实现?
https://bbs.acgrip.com/static/image/smiley/ACFun/01.png但是这俩组合的那行一直没写对
于是改用了比较低泛用的以[]分割的split固定取第4个项目为集数
希望有大佬可以讲解一下{:8_742:}




页: [1]
查看完整版本: python瞎写的单集nfo预生成工具(真的很破