Esempio n. 1
0
        public override GalleryInfo GetGalleryInfo()
        {
            var json = this.GetGalleryInfoAsJson();
            var info = new GalleryInfo
            {
                GalleryUrl    = this.GalleryUrl,
                Title         = json.Value <string>("title"),
                ThumbnailUrls = this.GetSmallImagePath(this.GetGalleryImageFiles(json).FirstOrDefault())
            };

            return(info);
        }
        public override GalleryInfo GetGalleryInfo()
        {
            var parameter = this.CreateRequestParameter();

            parameter.Uri    = this.GalleryUrl;
            parameter.Method = "GET";

            using (var response = this.Explorer.Request(parameter))
            {
                var redirect = response.Headers["Content-Disposition"];

                if (redirect != null)
                {
                    throw new ExHentaiAccountException();
                }

                var document     = response.ReadAsDocument();
                var gmDivElement = document.DocumentNode.ChildNodes["html"]?.ChildNodes["body"]?.ChildNodes.FirstOrDefault(n => n.GetAttributeValue("class", string.Empty).Equals("gm"));

                if (gmDivElement == null)
                {
                    throw new ExHentaiAccountException();
                }

                var gd2Elements = gmDivElement.ChildNodes.FirstOrDefault(n => n.GetAttributeValue("id", string.Empty).Equals("gd2")).ChildNodes;
                var gnElement   = gd2Elements.FirstOrDefault(n => n.GetAttributeValue("id", string.Empty).Equals("gn"));
                var title       = gnElement.InnerText;

                var gleftElements    = gmDivElement.ChildNodes.FirstOrDefault(n => n.GetAttributeValue("id", string.Empty).Equals("gleft")).ChildNodes;
                var gd1Elements      = gleftElements.FirstOrDefault(n => n.GetAttributeValue("id", string.Empty).Equals("gd1")).ChildNodes;
                var thumbnailElement = gd1Elements.FirstOrDefault(n => n.Name.Equals("div"));
                var style            = thumbnailElement.GetAttributeValue("style", string.Empty);
                var thumbnailUrl     = style.Substring("url(", ")");

                var info = new GalleryInfo
                {
                    GalleryUrl    = parameter.Uri,
                    Title         = title,
                    ThumbnailUrls = { thumbnailUrl }
                };
                info.ParameterTypes.Add(this.Original);

                return(info);
            }
        }
 public static GalleryValidation CreateByInfo(DownloadMethod method, GalleryAgent agent, GalleryInfo info, byte[] thumbnailData)
 {
     return(new GalleryValidation
     {
         Method = method,
         Agent = agent,
         IsError = false,
         Info = info,
         ThumbnailData = thumbnailData
     });
 }