public List <Embed> BuildEmbedCollection(UpdatesPage embedData) { List <Embed> output = new List <Embed>(); output.Add(BuildEmbed(embedData)); return(output); }
/* * private async Task<UpdatedPage> ParseDetailedLastEdited() * { * UpdatedPage updatedPage = new UpdatedPage(); * List<HtmlNode> tables = new List<HtmlNode>(); * string url = "http://scpsandbox-ua.wikidot.com/system:recent-changes"; * var web = new HtmlAgilityPack.HtmlWeb(); * HtmlDocument doc = await web.LoadFromWebAsync(url); * * var result = doc.GetElementbyId("site-changes-list").SelectSingleNode("//div[contains(@class, 'changes-list-item')]"); * var item = result.SelectSingleNode("//td[contains(@class, 'title')]").SelectSingleNode("a"); * * updatedPage.Title = CleanDetailedTitle(result.SelectSingleNode("//td[contains(@class, 'title')]").SelectSingleNode("a").InnerText); * updatedPage.Author = new PageAuthor() * { * Name = result.SelectSingleNode("//td[contains(@class, 'mod-by')]").SelectSingleNode("span").FirstChild.InnerText, * Url = result.SelectSingleNode("//td[contains(@class, 'mod-by')]").SelectSingleNode("span") * .SelectSingleNode("a").Attributes.First().Value * }; * updatedPage.UpdateTime = GetCorrectDateTime(result.SelectSingleNode("//td[contains(@class, 'mod-date')]").SelectSingleNode("span").InnerText); * updatedPage.PageUrl = BuildUrl(result.SelectSingleNode("//td[contains(@class, 'title')]").SelectSingleNode("a").Attributes.First().Value); * * return updatedPage; * } */ private async Task <UpdatesPage> ParseLastEdited() { List <UpdatesPage> updatedPages = new List <UpdatesPage>(); List <HtmlNode> tables = new List <HtmlNode>(); HtmlDocument doc = await webPage.LoadFromWebAsync(LAST_EDITED_PAGES_URL); var result = doc.GetElementbyId("page-content").SelectSingleNode("div"); var lastUpdatedItem = result.SelectSingleNode("div"); var rawValue = lastUpdatedItem.SelectSingleNode("p"); UpdatesPage page = new UpdatesPage() { Title = TextParseService.ParseTitle(rawValue.SelectSingleNode("a").InnerText), Author = new PageAuthor() { Name = TextParseService.CleanGeneralAuthorName(rawValue.ChildNodes.Where(n => n.NextSibling.Name == "span").First().InnerText), Url = string.Empty }, UpdateTime = TextParseService.GetCorrectDateTime(rawValue.SelectSingleNode("span").InnerText), PageUrl = TextParseService.BuildUrl(rawValue.SelectSingleNode("a").Attributes.First().Value) }; updatedPages.Add(page); return(updatedPages.OrderByDescending(x => x.UpdateTime).First()); }
public void DownloadMenuBug() { UpdatesPage updPage = new UpdatesPage(driver); Log.Information("Open Updates page"); updPage.Open(updPage.pageURL); Log.Information("Downloal zip file"); updPage.downloadRtlMenuBug.Click(); Assert.That(Directory.GetFiles(downloadDirectoryPath), Is.Not.Empty); }
public Embed BuildEmbed(UpdatesPage pageInfo) { EmbedAuthor author = new EmbedAuthor() { Name = pageInfo.Author.Name, Url = pageInfo.Author.Url }; Embed embed = new Embed() { AuthorName = author.Name, AuthorUrl = author.Url, Title = pageInfo.Title, Url = pageInfo.PageUrl, TimeStamp = pageInfo.UpdateTime }; return(embed); }
public async Task <HttpResponseMessage> SendAsync(UpdatesPage latestPage) { return(await SendAsync(BuildEmbedCollection(latestPage))); }