protected override async Task <IManga> GetMangaFromNode(Uri host, ISiteHttpClient client, HtmlNode manga) { // Это переводчик, идем дальше. if (manga.SelectSingleNode(".//i[@class='fa fa-user text-info']") != null) { return(null); } var image = manga.SelectSingleNode(".//div[@class='img']//a//img"); var imageUri = image?.Attributes.Single(a => a.Name == "data-original").Value; var mangaNode = manga.SelectSingleNode(".//h3//a"); var mangaUri = mangaNode.Attributes.Single(a => a.Name == "href").Value; var mangaName = mangaNode.Attributes.Single(a => a.Name == "title").Value; if (!Uri.TryCreate(mangaUri, UriKind.Relative, out Uri test)) { return(null); } var result = await Mangas.Create(new Uri(host, mangaUri)).ConfigureAwait(false); result.Name = WebUtility.HtmlDecode(mangaName); if (!string.IsNullOrWhiteSpace(imageUri)) { result.Cover = await client.GetData(new Uri(host, imageUri)).ConfigureAwait(false); } return(result); }
protected override async Task ConfigureCookieClient(ISiteHttpClient client, ILogin login) { await base.ConfigureCookieClient(client, login).ConfigureAwait(false); if (!client.GetCookies().Any(c => c.Name == "PHPSESSID")) { await client.GetPage(login.MainUri).ConfigureAwait(false); } }
protected override Task ConfigureCookieClient(ISiteHttpClient client, ILogin login) { var baseLogin = (BaseLogin)login; if (!string.IsNullOrWhiteSpace(baseLogin.UserId) && !client.GetCookies().Any(c => c.Name == "dle_user_id")) { client.AddCookie("dle_user_id", baseLogin.UserId); client.AddCookie("dle_password", baseLogin.PasswordHash); } return(base.ConfigureCookieClient(client, login)); }
protected override async Task <IManga> GetMangaFromNode(Uri host, ISiteHttpClient client, HtmlNode manga) { var image = manga.SelectSingleNode(".//div[@class='manga_images']//img"); var imageUri = image?.Attributes.Single(a => a.Name == "src").Value; var mangaNode = manga.SelectSingleNode(".//h2//a"); var mangaUri = mangaNode.Attributes.Single(a => a.Name == "href").Value; var mangaName = mangaNode.InnerText; var result = await Mangas.Create(new Uri(mangaUri)).ConfigureAwait(false); result.Name = WebUtility.HtmlDecode(mangaName); if (!string.IsNullOrWhiteSpace(imageUri)) { result.Cover = await client.GetData(new Uri(host, imageUri)).ConfigureAwait(false); } return(result); }
protected virtual Task ConfigureCookieClient(ISiteHttpClient client, ILogin login) { return(Task.CompletedTask); }
protected override Task ConfigureCookieClient(ISiteHttpClient client, ILogin login) { client.AddCookie("ageRestrict", "40"); return(base.ConfigureCookieClient(client, login)); }
protected abstract Task <IManga> GetMangaFromNode(Uri host, ISiteHttpClient client, HtmlNode manga);
protected override Task ConfigureCookieClient(ISiteHttpClient client, ILogin login) { client.AddCookie(GroupleParser.CookieKey, "true"); return(base.ConfigureCookieClient(client, login)); }
public Task <IManga> GetMangaFromBookmarks(Uri host, ISiteHttpClient client, HtmlNode mangaNode) { return(GetMangaFromNode(host, client, mangaNode)); }