public static void Main(string[] args) { if (!AttachConsole(ATTACH_PARENT_PROCESS)) { GuiApp.Run(); } else { ConsoleApp.Run(args); DisposeConsole(); } }
public static void Run(string[] args) { var options = new Options(); var parser = new CommandLine.Parser(s => { s.CaseSensitive = false; s.MutuallyExclusive = true; s.HelpWriter = Console.Out; s.ParsingCulture = System.Globalization.CultureInfo.InvariantCulture; }); if (!parser.ParseArguments(args, options)) { return; } if (options.Folders.Count > 0) { var firstFolder = options.Folders.First(); var collection = new MediaCollection <ConsoleFilm>(firstFolder).Items; if (options.List) { foreach (var film in collection) { Console.WriteLine(String.Format("{0,-3} {1,-9} {2}", film.Rating, film.ImdbId, film.FolderName)); } } if (options.Decorate) { new IconService().ProcessValidFilms(collection, validFilms => Console.WriteLine("Complete! " + validFilms.Count() + " folders have been decorated with icons.")); } if (options.Watch) { new ConsoleFilmProcessingWatcher(firstFolder).InfiniteWait(); } } if (options.RunGui) { GuiApp.Run(); } }