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();
        }
示例#2
0
        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));
            }
        }