public void ScanTest()
 {
     var inputPaths = new List<string> {"/Input/"};
     var ouputPaths = new List<string> {"/Exclude/"};
     var finder = new ShowFinder(_fileSystem, inputPaths, ouputPaths);
     finder.Scan();
 }
        public void IntialiseTest()
        {
            var inputPaths = new List<string> {"/Input/"};
            var excludePaths = new List<string> {"/Exclude/"};
            var finder = new ShowFinder(_fileSystem, inputPaths, excludePaths);

            Assert.AreSame(inputPaths, finder.InputPaths);
            Assert.AreSame(excludePaths, finder.ExcludedPaths);
        }
Beispiel #3
0
        public override int Run(string[] remainingArguments)
        {
            // Setup paths.
            var inputPaths = new List<string>() { _inputPath };
            var excludedPaths = new List<string>();
            if(_exclude)
            {
                excludedPaths.Add(_outputDirectory.FullName);
            }

            // Find shows and movies.
            var showFinder = new ShowFinder(inputPaths, excludedPaths);
            var showsToOrganise = showFinder.Scan();
            var movieFinder = new MovieFinder(inputPaths, excludedPaths.Union(showsToOrganise.Select(show => show.MediaFile.FullName)));
            var moviesToOrganise = movieFinder.Scan();
            var mediaToOrganise = showsToOrganise.Union(moviesToOrganise).ToList();

            // Log what is going to be organised.
            Logger.Log().StdOut.WriteLine("Organising {0} files: ", mediaToOrganise.Count);
            mediaToOrganise.ForEach(media =>
            {
                Logger.Log().StdOut.WriteLine("\tOrganising: {0}", media.MediaFile.Name);
            });

            // Organise.
            var organiser = new Organiser();
            mediaToOrganise.ForEach(media =>
            {
                organiser.Organise(media, _outputDirectory, _conversionOption, _strictSeason);
            });

            // Return 0.
            return 0;
        }