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());
        }
Esempio n. 3
0
        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)));
 }