public TVShowRenamer(UpdateStatus updateStatus, OnFoundMultipleSeries onFoundMultipleSeries, EpisodeRenamer episodeRenamer = null, EpisodeIdentifier episodeIdentifier = null, SeriesRepository seriesRepository = null) { SetRenamingStatus = updateStatus; OnFoundMultipleSeries = onFoundMultipleSeries; EpisodeRenamer = episodeRenamer ?? new EpisodeRenamer(); EpisodeIdentifier = episodeIdentifier ?? new EpisodeIdentifier(onFoundMultipleSeries, SeriesRepository); SeriesRepository = seriesRepository ?? new SeriesRepository(); }
public static void Main(string[] args) { try { var parsedArgs = GetCommandLineArgs(args.ToList()); var path = GetFromCommandLineOrAlternative(parsedArgs, PathVariableName, fieldName => AskForPath()); var renameFormula = GetFromCommandLineOrAlternative(parsedArgs, FormulaVariableName, GetApplicationVariable); var dateFormula = GetFromCommandLineOrAlternative(parsedArgs, DateFormulaVariableName, GetApplicationVariable); var seasonDigits = GetFromCommandLineOrAlternative(parsedArgs, SeasonDigitsVariableName, GetApplicationVariable); var episodeDigits = GetFromCommandLineOrAlternative(parsedArgs, EpisodeDigitsVariableName, GetApplicationVariable); var eligibleFileTypes = GetFromCommandLineOrAlternative(parsedArgs, EligibleFileTypesVariableName, GetApplicationVariable).ConvertFromCSV(); var episodeFileScanner = new EpisodeFileScanner(eligibleFileTypes); var settings = new EpisodeRenamerSettings(renameFormula, dateFormula) { PadEpisodeNumberDigits = Convert.ToInt32(episodeDigits), PadSeasonDigits = Convert.ToInt32(seasonDigits), TestMode = true }; var episodeRenamer = new EpisodeRenamer(settings); var renamer = new TVShowRenamer(Console.WriteLine, OnFoundMultipleSeries, episodeRenamer); var files = episodeFileScanner.Scan(path); renamer.Rename(files); } catch (Exception error) { Console.WriteLine("Critical Error! {0}".FormatReplace(error.Message)); } }