How to check set of files conform to a naming scheme | I have a bunch of files (TV episodes, although that is fairly arbitrary) that I want to check match a specific naming/organisation scheme..


Currently: I have three arrays of regex, one for valid filenames, one for files missing an episode name, and one for valid paths.


Then, I loop though each valid-filename regex, if it matches, append it to a "valid" dict, if not, do the same with the missing-ep-name regexs, if it matches this I append it to an "invalid" dict with an error code (2:'missing epsiode name'), if it matches neither, it gets added to invalid with the 'malformed name' error code.


The current code can be found [here](http://github.com/dbr/checktveps/tree/8a6dc68ad61e684c8d8f0ca1dc37a22d1c51aa82/2checkTvEps.py)


I want to add a rule that checks for the presence of a folder.jpg file in each directory, but to add this would make the code substantially more messy in it's current state.. 


How could I write this system in a more expandable way?


The rules it needs to check would be..


* File is in the format `Show Name - [01x23] - Episode Name.avi` or `Show Name - [01xSpecial02] - Special Name.avi` or `Show Name - [01xExtra01] - Extra Name.avi`
* If filename is in the format `Show Name - [01x23].avi` display it a 'missing episode name' section of the output
* The path should be in the format `Show Name/season 2/the_file.avi` (where season 2 should be the correct season number in the filename)
* each `Show Name/season 1/` folder should contain "folder.jpg"


.any ideas? While I'm trying to check TV episodes, this concept/code should be able to apply to many things..


The only thought I had was a list of dicts in the format:



```
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
}

```