public void ReadArticle()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/1"));

            Assert.NotNull(result.BodyHtml);
            File.WriteAllText("d:\\test.BodyHtml", result.BodyHtml);
            Assert.IsFalse(result.BodyHtml.Contains("<script"));
            Assert.IsFalse(result.BodyHtml.Contains("publication-sidenote "));
            Assert.IsTrue(result.BodyHtml.Contains("contentitem-sidenote-link"));
            Assert.IsFalse(result.BodyHtml.Contains("share-publication-footer"));
            //Assert.IsFalse(result.BodyHtml.Contains("publication-body-link"));
            Assert.IsFalse(result.BodyHtml.Contains("class=\"header"));
            Assert.IsFalse(result.BodyHtml.Contains("8 uur geleden"));
            //Assert.IsTrue(result.BodyHtml.Contains("16-9-2015 5:45"));
            Assert.AreEqual(3342, result.Metadata.Id);
            Assert.AreEqual("https://decorrespondent.nl/3342", result.Metadata.Url);
            Assert.AreEqual("Drie manieren waarop mobiele telefoons bijdragen aan betere data", result.Metadata.Title);
            Assert.AreEqual(new[] { 6, 7 }, result.Metadata.ReadingTime.ToArray());
            Assert.AreEqual("Sanne", result.Metadata.AuthorFirstname);
            Assert.AreEqual("Blauw", result.Metadata.AuthorLastname);
            Assert.AreEqual("https://dynamic.decorrespondent.nl/media/1024/55f8734d4e0455501740378.jpg", result.Metadata.MainImgUrl);
            Assert.AreEqual("https://dynamic.decorrespondent.nl/media/660/55f8734d4e0455501740378.jpg", result.Metadata.MainImgUrlSmall);
            Assert.AreEqual("https://dynamic.decorrespondent.nl/ff-1441719053/media/50/55eee30dc2bdd5475014700.png", result.Metadata.AuthorImgUrl);
            Assert.AreEqual("Ontcijferen", result.Metadata.Section);
            Assert.AreEqual("Data uit ontwikkelingslanden zijn vaak van slechte kwaliteit. Ik ging op zoek naar nieuwe technologieën om betere data te verzamelen. In deel twee van de serie: drie manieren waarop mobiele telefoons een verschil kunnen maken.", result.Metadata.Description);
            Assert.AreEqual(new DateTime(2015, 9, 16, 5, 45, 0), result.Metadata.Published);
            Assert.AreEqual(new DateTime(2015, 9, 16, 5, 45, 0), result.Metadata.Modified); //modified time niet meer beschikbaar (21-10-2016)
        }
        private void ViewResultsButtonClick(object sender, RoutedEventArgs e)
        {
            object ID = ((Button)sender).CommandParameter;

            List <Article> Articles = ArticleReader.ReadArticles(@"Data\cacm.all").ToList <Article>();

            Article OpenArticle = Articles.Find(x => x.Id == Convert.ToInt32(ID));
            string  Authors     = "No Authors.";

            int i = 0;

            foreach (var author in OpenArticle.Authors)
            {
                if (i == 0)
                {
                    Authors = author;
                    i++;
                }
            }

            string titleA   = OpenArticle.Title.ToString() != String.Empty?OpenArticle.Title.ToString():"No Title";
            string summaryA = OpenArticle.Summary.ToString() != String.Empty? OpenArticle.Summary.ToString() : "No Summary Available";

            var dialog = new ModernDialog
            {
                Title   = titleA,
                Content = summaryA + System.Environment.NewLine + " Authors: " + Authors
            };

            //dialog.Height = 500;
            //dialog.Width = 900;
            //dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;

            dialog.ShowDialog();
        }
        public void SendNotificationEmail()
        {
            var sender = CreateSender();
            var reader = new ArticleReader();
            var articles = new[] { reader.Read(new FileResources().Read("http://t/3530")) };

            sender.Send(articles.ToList());
        }
        public void ReadArticle3364()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/3364"));

            Assert.NotNull(result.BodyHtml);
        }
        public void ReadArticle3366()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/3366"));

            Assert.NotNull(result.BodyHtml);
            Assert.IsTrue(result.BodyHtml.Contains("een simpele telnet-hack"));
        }
        public void Render3785()
        {
            var article = new ArticleReader().Read(new FileResources().Read("http://t/3785"));
            var renderer = CreateRenderer();

            var Html = renderer.Render(article);

            Assert.NotNull(Html.Content);
            File.WriteAllBytes("d:\\" + Html.Name, Html.Content);
        }
        public void Render3450()
        {
            var article = new ArticleReader().Read(new FileResources().Read("http://t/3450"));
            var renderer = CreateRenderer();

            var pdf = renderer.Render(article);

            Assert.NotNull(pdf.Content);
            File.WriteAllBytes("d:\\" + pdf.Name, pdf.Content);
        }
        public void Render()
        {
            var article = new ArticleReader().Read(new FileResources().Read("http://t/3358"));
            var renderer = CreateRenderer();

            var Html = renderer.Render(article);

            Assert.NotNull(Html.Content);
            Assert.AreEqual("16 Reis mee door het land dat niet bestaat (en leer hoe belangrijk het is om erkend te worden) (Vermeulen).html", Html.Name);
            File.WriteAllBytes("d:\\" + Html.Name, Html.Content);
        }
        public void ReadArticle2404()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/2404"));

            Assert.NotNull(result.BodyHtml);
            Assert.AreEqual(1, result.Metadata.ExternalMedia.Count());
            Assert.AreEqual("https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/188622180&amp;color=df5b57&amp;auto_play=false&amp;show_artwork=true", result.Metadata.ExternalMedia.First().Url);
            Assert.AreEqual("Interview", result.Metadata.ExternalMedia.First().Description);
        }
Ejemplo n.º 10
0
        public void ReadTest_01()
        {
            string articleBrut = @"---         
---
lorem ipsum";
            var    logger      = Substitute.For <ILogger>();

            var     articleReader = ArticleReader.CreateForTest(articleBrut, logger);
            Article article       = articleReader.Read();

            Assert.Equal("<p>lorem ipsum</p>\n", article.ContenuHtml);
        }
Ejemplo n.º 11
0
        public void Read_When_Yaml_parsing_exception()
        {
            string  articleBrut   = @"---
titre: monTitre
sous-titre
---
lorem ipsum";
            var     logger        = Substitute.For <ILogger>();
            var     articleReader = ArticleReader.CreateForTest(articleBrut, logger);
            Article article       = articleReader.Read();

            logger.Received().LogError($"coucou");
            Assert.Equal("<p>lorem ipsum</p>\n", article.ContenuHtml);
        }
        public void ReadAndRenderAllFromWebResource()
        {
            var reader = CreateReader(new WebReader(new ConsoleLogger(true)));
            var articleReader = new ArticleReader();
            var config = CreateConfig();
            var renderer = new PdfArticleRenderer(new ConsoleLogger(true), config.ArticleRendererConfig, config.EvoPdfLicenseKey);

            var result = reader.ReadNieuwItems()
                .Select(i => reader.ReadArticle(i.Id))
                .Select(a => articleReader.Read(a))
                .Select(a => renderer.Render(a))
                .ToList();

            Assert.IsNotNull(result);
        }
        public void Publicationdate()
        {
            var config = FileConfig.Load(@"..\..\config-test.xml").DeCorrespondentReaderConfig;
            using (var webresources = DeCorrespondentWebReader.Login(new ConsoleLogger(true), config.Username, config.Password))
            {
                var reader = new DeCorrespondentResources(webresources, new ConsoleLogger(true));
                var articleReader = new ArticleReader();

                var result = reader.ReadNieuwItems().Take(20);

                foreach (var item in result)
                {
                    AssertIgnoreSeconds(articleReader.Read(reader.ReadArticle(item.Id)).Metadata.Published, item.Publicationdate);
                }

                var ids = result.Select(a => a.Id).ToList();
                Assert.AreEqual(ids.Count(), ids.Distinct().Count(), "Unieke ids verwacht");
            }
        }
Ejemplo n.º 14
0
 private static Program Instance(ProgramArguments args, ILogger logger, IDeCorrespondentResources decorrespondent, FileConfig config)
 {
     var reader = new ArticleReader();
     var renderer = string.IsNullOrEmpty(config.EvoPdfLicenseKey)
         ? new HtmlArticleRenderer(logger, config.ArticleRendererConfig)
         : new PdfArticleRenderer(logger, config.ArticleRendererConfig, config.EvoPdfLicenseKey) as IArticleRenderer;
     var lastIdDs = new FileLastDatasource();
     var mailer = new SmtpMailer(logger, config.SmtpMailConfig);
     var kindle = new KindleEmailSender(logger, config.KindleEmailSenderConfig, mailer);
     var summarySender = new EmailNotificationSender(logger, mailer, config.EmailNotificationSenderConfig);
     return new Program(args, logger, reader, renderer, decorrespondent, lastIdDs, kindle, summarySender, config.MaxAantalArticles);
 }
        public void ReadArticle5475()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/5475"));

            Assert.IsNotNull(result.Metadata.Modified);
        }
        public void ReadArticle3450()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/3450"));

            Assert.AreEqual("Alle wereldleiders waren afgelopen week bij de Algemene Vergadering van de Verenigde Naties. Hoe gaat zo’n wereldtop eraan toe? Een verslag uit New York, aan de hand van tien voorwerpen.", result.Metadata.Description);
        }
        public void ReadArticle3530()
        {
            var reader = new ArticleReader();

            var result = reader.Read(new FileResources().Read("http://t/3530"));

            Assert.NotNull(result.BodyHtml);
            Assert.AreEqual(6, result.Metadata.ExternalMedia.Count());
            Assert.AreEqual("Klimaatactivist Marjan Minnesma schetst de toekomst van een duurzaam Nederland", result.Metadata.ExternalMedia.First().Description);
        }