> The code is too complex

Yep, the original code wasn't too bad.. but then I added in support for various types of filenames (e.g date-based, anime etc). Same happened with the file-moving code etc

> only one instance of EpisodeInfo class containing all data. But doing this, there would be no control over keys in move_files_destination, filename_with_episode

I have a few ideas of how to solve this. Hopefully sometime this week I'll get around to implementing it.

Basically just storing the episode type as an attribute, then having a clearly defined set of "data that was parsed from the filename", which goes through a function which looks up the relevant TVDB episodes, then another function which produces a dictionary of items for the name-formatting

> it's an optional argument (defaulting to empty dict)

http://stackoverflow.com/questions/1132941/least-astonishment-in-python-the-mutable-default-argument