def getMoveDestination(episode): """Constructs the location to move/copy the file """ #TODO: Write functional test to ensure this valid'ifying works def wrap_validfname(fname): """Wrap the makeValidFilename function as it's called twice and this is slightly long.. """ if Config['move_files_lowercase_destination']: fname = fname.lower() return makeValidFilename( fname, normalize_unicode=Config['normalize_unicode_filenames'], windows_safe=Config['windows_safe_filenames'], custom_blacklist=Config['custom_filename_character_blacklist'], replace_with=Config['replace_invalid_characters_with']) # Calls makeValidFilename on series name, as it must valid for a filename if isinstance(episode, DatedEpisodeInfo): destdir = Config['move_files_destination_date'] % { 'seriesname': makeValidFilename(episode.seriesname), 'year': episode.episodenumbers[0].year, 'month': episode.episodenumbers[0].month, 'day': episode.episodenumbers[0].day, 'originalfilename': episode.originalfilename, 'seasonnumber': 0, } elif isinstance(episode, NoSeasonEpisodeInfo): destdir = Config['move_files_destination'] % { 'seriesname': wrap_validfname(episode.seriesname), 'episodenumbers': wrap_validfname(formatEpisodeNumbers(episode.episodenumbers)), 'originalfilename': episode.originalfilename, 'seasonnumber': 0, } else: destdir = Config['move_files_destination'] % { 'seriesname': wrap_validfname(episode.seriesname), 'seasonnumber': episode.seasonnumber, 'episodenumbers': wrap_validfname(formatEpisodeNumbers(episode.episodenumbers)), 'originalfilename': episode.originalfilename, } return destdir
def getMoveDestination(episode): """Constructs the location to move/copy the file """ #TODO: Write functional test to ensure this valid'ifying works def wrap_validfname(fname): """Wrap the makeValidFilename function as it's called twice and this is slightly long.. """ if Config['move_files_lowercase_destination']: fname = fname.lower() return makeValidFilename( fname, normalize_unicode = Config['normalize_unicode_filenames'], windows_safe = Config['windows_safe_filenames'], custom_blacklist = Config['custom_filename_character_blacklist'], replace_with = Config['replace_invalid_characters_with']) # Calls makeValidFilename on series name, as it must valid for a filename if isinstance(episode, DatedEpisodeInfo): destdir = Config['move_files_destination_date'] % { 'seriesname': makeValidFilename(episode.seriesname), 'year': episode.episodenumbers[0].year, 'month': episode.episodenumbers[0].month, 'day': episode.episodenumbers[0].day, 'originalfilename': episode.originalfilename, } elif isinstance(episode, NoSeasonEpisodeInfo): destdir = Config['move_files_destination'] % { 'seriesname': wrap_validfname(episode.seriesname), 'episodenumbers': wrap_validfname(formatEpisodeNumbers(episode.episodenumbers)), 'originalfilename': episode.originalfilename, } else: destdir = Config['move_files_destination'] % { 'seriesname': wrap_validfname(episode.seriesname), 'seasonnumber': episode.seasonnumber, 'episodenumbers': wrap_validfname(formatEpisodeNumbers(episode.episodenumbers)), 'originalfilename': episode.originalfilename, } return destdir