Ejemplo n.º 1
0
        //private static Ebookdz_ForumPage GetData(WebResult webResult)
        private static IEnumDataPages <IHeaderData> GetData(WebResult webResult)
        {
            XXElement            xeSource = new XXElement(webResult.Http.zGetXDocument().Root);
            string               url      = webResult.WebRequest.HttpRequest.Url;
            Ebookdz_ForumPage_v2 data     = new Ebookdz_ForumPage_v2();

            data.SourceUrl       = url;
            data.LoadFromWebDate = webResult.LoadFromWebDate;
            data.Id = _GetPageKey(webResult.WebRequest.HttpRequest);

            //data.UrlNextPage = zurl.GetUrl(url, xeSource.XPathValue("//div[@class='basenavi']//span[@class='nnext']//a/@href"));
            data.UrlNextPage = null;

            Predicate <string>      filter = __forumFilter;
            List <Ebookdz_Forum_v2> forums = new List <Ebookdz_Forum_v2>();

            //HtmlRun.Select("//ol[@id='forums']/li:.:EmptyRow", ".//text()", ".//a//text()", ".//a/@href");
            // <ol id="forums" class="floatcontainer">
            foreach (XXElement xe in xeSource.XPathElements("//ol[@id='forums']/li"))
            {
                // Accueil de la Board, Forum de l'entraide, Journaux, MAGAZINES, Les Livres, Sujet supprimés ou à supprimer
                // http://www.ebookdz.com/forum/forumdisplay.php?f=1&s=1fdf76d35a57d09aa11e75ff6f0d9985
                XXElement xe2 = xe.XPathElement(".//a");

                string name = xe2.XPathValue(".//text()");

                if (filter != null && !filter(name))
                {
                    continue;
                }

                Ebookdz_Forum_v2 forum = new Ebookdz_Forum_v2();
                forum.SourceUrl       = url;
                forum.LoadFromWebDate = webResult.LoadFromWebDate;
                forum.Name            = name;

                forum.Url = Ebookdz_v1.GetUrl(zurl.GetUrl(url, xe2.XPathValue("@href")));
                forums.Add(forum);
            }

            data.Forums = forums.ToArray();
            return(data);
        }
Ejemplo n.º 2
0
 public static IEnumerable <Ebookdz_Forum_v2> LoadSubForums(bool reload = false, Predicate <Ebookdz_Forum_v2> filter = null)
 {
     //foreach (Ebookdz_Forum mainForum in LoadPages(startPage: 1, maxPage: 1, reload: reload, loadImage: false, refreshDocumentStore: false))
     foreach (IHeaderData header in __headerWebDataPageManager.LoadPages(startPage: 1, maxPage: 1, reload: reload, loadImage: false, refreshDocumentStore: false))
     {
         Ebookdz_Forum_v2 mainForum = (Ebookdz_Forum_v2)header;
         //yield return mainForum;
         //foreach (Ebookdz_Forum_v2 subForum in Ebookdz_SubForumManager.CurrentSubForumManager.LoadPages(new HttpRequest { Url = mainForum.Url }, maxPage: 0, reload: reload))
         foreach (Ebookdz_Forum_v2 subForum in Ebookdz_SubForumManager_v2.HeaderWebDataPageManager.LoadPages(new HttpRequest {
             Url = mainForum.Url
         }, maxPage: 0, reload: reload))
         {
             subForum.Forum = mainForum.Name;
             if (filter == null || filter(subForum))
             {
                 yield return(subForum);
             }
         }
     }
 }