特定の命名/組織スキームと一致することを確認したいファイル(テレビエピソード、かなり恣意的ですが)がたくさんあります..
現在:有効なファイル名用、エピソード名のないファイル用、有効なパス用の 3 つの正規表現の配列があります。
次に、各有効なファイル名の正規表現をループし、一致する場合は「有効な」辞書に追加し、そうでない場合は、欠落している ep-name 正規表現で同じことを行い、これに一致する場合は「無効な」辞書に追加します" エラー コード (2:'missing epsiode name') を持つ dict で、どちらにも一致しない場合は、'不正な形式の名前' エラー コードで無効に追加されます。
現在のコードはここにあります
各ディレクトリに folder.jpg ファイルが存在するかどうかをチェックするルールを追加したいのですが、これを追加すると、現在の状態でコードがかなり面倒になります..
このシステムをより拡張可能な方法で記述するにはどうすればよいでしょうか?
チェックする必要があるルールは..
- ファイルの形式は
Show Name - [01x23] - Episode Name.avi
orShow 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」が含まれている必要があります
。何か案は?私はテレビのエピソードをチェックしようとしていますが、この概念/コードは多くのことに適用できるはずです..
私が持っていた唯一の考えは、次の形式の辞書のリストでした。
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
}