Example #1
0
        static void Main(string[] args)
        {
            if (Parser.Default.ParseArguments(args, Settings.Instance.CommandLineOptions))
            {
                if (File.Exists(Settings.Instance.CommandLineOptions.ConfigFilePath ?? Settings.DefaultConfigFile))
                {
                    Settings.Instance.Load();

                    BaseWebComicScraper scraper;
                    Settings.Instance.Entries.AsParallel().ForAll(
                        entry =>
                    {
                        try
                        {
                            if (entry.Parser == WebComicEntry.Parsers.XPath)
                            {
                                scraper = new HAPWebComicScraper();
                            }
                            else if (entry.Parser == WebComicEntry.Parsers.RegExp)
                            {
                                scraper = new RegExpWebComicScraper();
                            }
                            else
                            {
                                ConsoleDisplay.AppendLine(
                                    $"Unknown scraper type for entry {entry.Title} - {entry.BaseAddress}");
                                return;
                            }

                            scraper.StartScraping(entry);
                        }
                        catch (NotSupportedException ex)
                        {
                            ConsoleDisplay.AppendLine($"[{entry.Title}][Exception] : {ex.Message}");
                        }
                    });
                }
            }
            else
            {
                Display.Halted = true;
                Console.WriteLine(Resources.ErrorNoConfigFileFound);
                Settings.Instance.Entries.Add(new WebComicEntry());
                Settings.Instance.Save();
            }
        }