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