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); } } }
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); } } }