Ejemplo n.º 1
0
        public Organizer(string root)
        {
            _root = root;
            var moviesFolder = Directory.GetFiles(root);
            var regex        = new Regex(@"^(?<name>(\w+ [ ]*)+)\[\d+].\w+", RegexOptions.Compiled);
            var api          = new ImdbApi.ImdbApi();

            CreateDirectoryIfDoesntExist("All");
            CreateDirectoryIfDoesntExist("Unsorted");

            foreach (var path in moviesFolder)
            {
                try
                {
                    var filename  = Path.GetFileName(path);
                    var extension = Path.GetExtension(path);
                    if (extension == ".dll" || extension == ".exe")
                    {
                        continue;
                    }
                    var match     = regex.Match(filename);
                    var movieName = match.Groups["name"].Value;

                    Console.WriteLine("File: " + filename);
                    if (!string.IsNullOrEmpty(movieName))
                    {
                        Console.WriteLine("Found movie: " + movieName);
                        var info = api.GetMovieInfo(movieName);
                        if (string.IsNullOrEmpty(info.Error))
                        {
                            var newPath = MoveFilePath("All", filename);
                            File.Move(path, newPath);

                            foreach (var genre in info.GenresArray)
                            {
                                CreateDirectoryIfDoesntExist(genre);
                                MakeShortcut(newPath, MoveFilePath(genre, filename));
                            }

                            continue;
                        }
                    }
                    File.Move(path, MoveFilePath("Unsorted", filename));
                    Console.WriteLine("Moved to /Unsorted");
                    Console.WriteLine("");
                }
                catch (Exception e)
                {
                    Console.WriteLine("The process failed for file: {0}\n", path);
                }
            }
        }
Ejemplo n.º 2
0
        public Organizer(string root)
        {
            _root = root;
            var moviesFolder = Directory.GetFiles(root);
            var regex = new Regex(@"^(?<name>(\w+ [ ]*)+)\[\d+].\w+", RegexOptions.Compiled);
            var api = new ImdbApi.ImdbApi();

            CreateDirectoryIfDoesntExist("All");
            CreateDirectoryIfDoesntExist("Unsorted");

            foreach (var path in moviesFolder)
            {
                try
                {
                    var filename = Path.GetFileName(path);
                    var extension = Path.GetExtension(path);
                    if (extension == ".dll" || extension == ".exe") continue;
                    var match = regex.Match(filename);
                    var movieName = match.Groups["name"].Value;

                    Console.WriteLine("File: " + filename);
                    if (!string.IsNullOrEmpty(movieName))
                    {
                        Console.WriteLine("Found movie: " + movieName);
                        var info = api.GetMovieInfo(movieName);
                        if (string.IsNullOrEmpty(info.Error))
                        {
                            var newPath = MoveFilePath("All", filename);
                            File.Move(path, newPath);

                            foreach (var genre in info.GenresArray)
                            {
                                CreateDirectoryIfDoesntExist(genre);
                                MakeShortcut(newPath, MoveFilePath(genre, filename));
                            }

                            continue;
                        }
                    }
                    File.Move(path, MoveFilePath("Unsorted", filename));
                    Console.WriteLine("Moved to /Unsorted");
                    Console.WriteLine("");
                }
                catch (Exception e)
                {
                    Console.WriteLine("The process failed for file: {0}\n", path);
                }
            }
        }