Exemplo n.º 1
0
        private IEnumerable <string> GetSubscribers(MediaWiki wiki)
        {
            var text    = wiki.GetPage(SubscribersPage, followRedirects: true);
            var section = new SectionedArticle <Section>(text, 2).Single();

            foreach (var line in section.Text.Split('\n'))
            {
                if (!line.StartsWith("*"))
                {
                    continue;
                }
                yield return(ParserUtils.FindAnyLinks(line).Single());
            }
        }
Exemplo n.º 2
0
        private static IEnumerable <string> GetArticles(SectionedArticle <Section> sections)
        {
            foreach (var section in sections)
            {
                var subSections = new SectionedArticle <Section>(section.Text, sections.Level + 1);
                if (subSections.Select(s => s.Title.TrimEnd().Trim('=').Trim()).Any(title => ResultTitles.Contains(title, StringComparer.InvariantCultureIgnoreCase)))
                {
                    continue;
                }

                foreach (var link in ParserUtils.FindAnyLinks(section.Title))
                {
                    yield return(link);
                }

                if (sections.Level < 3)
                {
                    foreach (var article in GetArticles(subSections))
                    {
                        yield return(article);
                    }
                }
            }
        }