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 }); }