diff --git a/manga/multisrc/madara/madara.dart b/manga/multisrc/madara/madara.dart index f8e5c4eb..1819a490 100644 --- a/manga/multisrc/madara/madara.dart +++ b/manga/multisrc/madara/madara.dart @@ -135,12 +135,20 @@ class Madara extends MProvider { ""; final imageElement = document.selectFirst("div.summary_image img"); - final image = imageElement?.attr("src") ?? + var image = imageElement?.attr("src") ?? imageElement?.attr("data-src") ?? imageElement?.attr("data-lazy-src") ?? imageElement?.attr("srcset"); if (image != null) { - manga.imageUrl = image; + if (image.contains("dflazy")) { + image = imageElement?.attr("data-src") ?? + imageElement?.attr("data-src") ?? + imageElement?.attr("data-lazy-src") ?? + imageElement?.attr("srcset"); + } + if (image != null) { + manga.imageUrl = image; + } } final id = document @@ -171,14 +179,38 @@ class Madara extends MProvider { } else { res = oldXhrChaptersRequest.body; } - - final chapDoc = parseHtml(res); - var chapUrls = - chapDoc.xpath('//li[contains(@class,"wp-manga-chapter")]/a/@href'); - var chaptersNames = - chapDoc.xpath('//li[contains(@class,"wp-manga-chapter")]/a/text()'); - var chapDates = chapDoc - .xpath('//li[contains(@class,"wp-manga-chapter")]/span/i/text()'); + MDocument chapDoc = parseHtml(res); + List chapUrls = []; + List chaptersNames = []; + List chapDates = []; + for (MElement element in chapDoc.select("li.wp-manga-chapter") ?? []) { + final ch = element.selectFirst("a"); + if (ch != null) { + chapUrls.add(ch.attr("href")); + } + } + if (chapUrls.isEmpty) { + res = (await client.post(Uri.parse("${url}ajax/chapters"), + headers: headers)) + .body; + chapDoc = parseHtml(res); + for (MElement element in chapDoc.select("li.wp-manga-chapter") ?? []) { + final ch = element.selectFirst("a"); + if (ch != null) { + chapUrls.add(ch.attr("href")); + } + } + } + for (MElement element in chapDoc.select("li.wp-manga-chapter") ?? []) { + final ch = element.selectFirst("a"); + final chd = element.selectFirst("span.chapter-release-date"); + if (ch != null) { + chaptersNames.add(ch.text); + } + if (chd != null) { + chapDates.add(chd.text); + } + } List dateUploads = []; if (source.dateFormat.isNotEmpty) { List chaptersDate = []; diff --git a/manga/multisrc/madara/sources.dart b/manga/multisrc/madara/sources.dart index d0672a67..fffac0f3 100644 --- a/manga/multisrc/madara/sources.dart +++ b/manga/multisrc/madara/sources.dart @@ -164,7 +164,7 @@ import 'src/comicarab/comicarab.dart'; import 'src/manga3asq/manga3asq.dart'; import 'src/bakamh/bakamh.dart'; -const madaraVersion = "0.0.75"; +const madaraVersion = "0.0.8"; const madaraSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/madara/madara.dart";