我有一大堆的文件(电视节目,尽管这是相当任意的),我要检查符合特定的命名/组织方案..如何检查设置文件的符合命名方案
目前:我有三个正则表达式数组,一个用于有效的文件名,一个用于缺少剧集名称的文件,另一个用于有效路径。
然后,我循环虽然每个有效的文件名正则表达式,如果匹配,将它附加到一个“有效”的字典,如果没有,做同样的missing-ep名称正则表达式,如果它匹配我附加它到一个带有错误代码(2:'缺少epsiode名称')的“无效”字典,如果它们都不匹配,那么它会被添加到无效并带有'格式错误的名称'错误代码。
当前的代码可以发现here
我想补充一点,检查每个目录folder.jpg文件存在的规则,但要加这将使得代码大幅较为凌乱,在它的电流状态..
我怎样才能以更可扩展的方式编写这个系统?
需要检查将是规则..
- 文件的格式为
Show Name - [01x23] - Episode Name.avi
或Show Name - [01xSpecial02] - Special Name.avi
或Show Name - [01xExtra01] - Extra Name.avi
- 如果文件名格式为
Show Name - [01x23].avi
显示它的“失踪事件名称”部分输出 - 的路径应该是在格式
Show Name/season 2/the_file.avi
(其中季2应该是在文件名中正确季节数) - 每个
Show Name/season 1/
夹应该包含“folder.jpg”
。任何想法?当我试图检查的电视节目,这个概念/代码应该可以适用于很多东西..
我唯一的想法就是http://stardict.sourceforge.net/Dictionaries.php下载的格式列表:
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
}