Example #1
0
        private void checkFicChap(Chapitre chap)
        {
            //le chapitre à déjà été dl si:
            //- un dossier avec son nom existe
            if (Directory.Exists(chap.ChapPath))
            {
                chap.chapAlreadyDled = true;
            }

            //- un fichier avec son nom existe
            if (File.Exists(chap.ChapPath))
            {
                chap.chapAlreadyDled = true;
                // il peut avoir été préfixé par un 0
            }
            else
            {
                var files = Directory.GetFiles(chap.MangaPath, "*.*");
                foreach (var f in files)
                {
                    //on prends le numero sans l'extension
                    int.TryParse(f.Split("\\").Last().Split(".").First().Split(" ").Last(), out int numChap);
                    if (numChap == chap.ChapNumber)
                    {
                        chap.chapAlreadyDled = true;
                        break;
                    }
                }
                ;
            }
        }
Example #2
0
        /// <summary>
        /// Télécharge un chapitre à partir d'un objet Chapitre
        /// </summary>
        /// <param name="chap"></param>
        /// <returns></returns>
        internal void dlChapWebClient(Chapitre chap)
        {
            Console.WriteLine("Chapitre {0} en cours", chap.ChapTitleClean);
            DirectoryInfo chapDir = Directory.CreateDirectory(chap.ChapPath);

            foreach (var p in chap.ChapPicLst)
            {
                Outils.downloadFile(p.PicUrl, p.PicPath);
            }
        }
Example #3
0
        /// <summary>
        /// Complète l'objet Manga avec la liste des tous les chapitres trouvés
        /// </summary>
        /// <param name="manga"></param>
        /// <returns></returns>
        private void getChapsFromManga(Manga manga)
        {
            HtmlWeb      web       = new HtmlWeb();
            HtmlDocument mangaPage = web.Load(manga.MangaUrl);
            var          chapters  = mangaPage.DocumentNode.Descendants("h5").Where(u => u.HasAttributes);

            foreach (var c in chapters)
            {
                String   ChapTitleUrl = c.Descendants("a").First().InnerText;
                String   ChapUrl      = c.Descendants("a").First().GetAttributeValue("href", null);
                Chapitre chap         = new Chapitre(manga, ChapTitleUrl, ChapUrl);
                manga.MangaChapCompleteLst.Add(chap);
            }
        }
Example #4
0
        /// <summary>
        /// Complète la liste de Picture d'un chapitre contenant l'ensemble des images de celui-ci.
        /// </summary>
        private void getChapPagesThread(Chapitre chap)
        {
            HtmlWeb      web         = new HtmlWeb();
            HtmlDocument chapterPage = web.Load(chap.ChapUrl);
            var          imgsUrl     =
                from truc in chapterPage.DocumentNode.Descendants("img")
                let data = truc.GetAttributeValue("data-src", null)
                           where data != null
                           select data;

            Parallel.ForEach(imgsUrl, (imgUrl) =>
            {
                Picture pic = new Picture(imgUrl);
                pic.PicPath = chap.ChapPath + "/" + pic.PicFullName;
                chap.ChapPicLst.Add(pic);
            });
            chap.ChapNbrPage = chap.ChapPicLst.Count;
        }