Пример #1
0
 public static void Main(string[] args)
 {
     if (!AttachConsole(ATTACH_PARENT_PROCESS))
     {
         GuiApp.Run();
     }
     else
     {
         ConsoleApp.Run(args);
         DisposeConsole();
     }
 }
Пример #2
0
        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();
            }
        }