我有一堆文件(电视节目,尽管这是相当武断的),我想检查是否符合特定的命名/组织方案。。在
目前:我有三个regex数组,一个用于有效文件名,一个用于缺少事件名称的文件,另一个用于有效路径。在
然后,我遍历每个有效的文件名regex,如果匹配,则将其附加到“valid”dict,如果不匹配,则对丢失的ep name regex执行相同的操作;如果与此匹配,则将其附加到“invalid”dict,并返回一个错误代码(2:“missing epsiode name”);如果两者都不匹配,则会使用“malformed name”错误代码将其添加到invalid。在
当前代码可以找到here
我想添加一个规则来检查文件夹.jpg文件在每个目录中,但添加此项会使代码在其当前状态下更加混乱。。在
我怎样才能以更可扩展的方式编写这个系统?在
它需要检查的规则是。。在文件的格式为Show Name - [01x23] - Episode Name.avi或Show Name - [01xSpecial02] - Special Name.avi或{}
如果文件名采用Show Name - [01x23].avi格式,则在输出中显示一个“缺少事件名称”部分
路径的格式应该是Show Name/season 2/the_file.avi(其中第2季应该是文件名中正确的季节号)
每个Show Name/season 1/文件夹应包含“文件夹.jpg““
有什么想法吗?当我在检查电视节目时,这个概念/代码应该可以应用到很多事情上。。在
我唯一想到的是一份格式如下的口述:checker = [
{
'name':'valid files',
'type':'file',
'function':check_valid(), # runs check_valid() on all files
'status':0 # if it returns True, this is the status the file gets
}