From 777c6dd71d8434a912ea42fe8ec85621b91c89d6 Mon Sep 17 00:00:00 2001 From: kodjomoustapha <107993382+kodjodevf@users.noreply.github.com> Date: Sun, 7 Jul 2024 10:06:54 +0100 Subject: [PATCH] v0.1.45 --- .../multisrc/mangareader/mangareader.dart | 34 ++++++++++++------- dart/manga/multisrc/mangareader/sources.dart | 2 +- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/dart/manga/multisrc/mangareader/mangareader.dart b/dart/manga/multisrc/mangareader/mangareader.dart index bffc241a..54830952 100644 --- a/dart/manga/multisrc/mangareader/mangareader.dart +++ b/dart/manga/multisrc/mangareader/mangareader.dart @@ -225,24 +225,32 @@ class MangaReader extends MProvider { Future> getPageList(String url) async { url = getUrlWithoutDomain(url); final res = (await client.get(Uri.parse('$baseUrl$url'))).body; - List pagesUrl = []; - final htmlElements = parseHtml(res).select("div#readerarea img"); - for (var htmlElement in htmlElements) { - String img = htmlElement.getSrc; - if (img.contains("data:image")) { - img = htmlElement.getDataSrc; - } - pagesUrl.add(img); + List pages = []; + List pagesUrl = []; + bool invalidImgs = false; + pages = xpath(res, '//*[@id="readerarea"]/p/img/@src'); + if (pages.isEmpty || pages.length == 1) { + pages = xpath(res, '//*[@id="readerarea"]/img/@src'); } - if (pagesUrl.isEmpty || pagesUrl.length == 1) { - RegExp exp = RegExp("\"images\"\\s*:\\s*(\\[.*?])"); - var match = exp.allMatches(res).toList()[0] as RegExpMatch; - final images = match.group(1); - final pages = json.decode(images!) as List; + if (pages.length > 1) { + for (var page in pages) { + if (page.contains("data:image")) { + invalidImgs = true; + } + } + if (invalidImgs) { + pages = xpath(res, '//*[@id="readerarea"]/img/@data-src'); + } + } + if (pages.isEmpty || pages.length == 1) { + final images = regExp(res, "\"images\"\\s*:\\s*(\\[.*?])", "", 1, 1); + final pages = json.decode(images) as List; for (var page in pages) { pagesUrl.add(page); } + } else { + return pages; } return pagesUrl; diff --git a/dart/manga/multisrc/mangareader/sources.dart b/dart/manga/multisrc/mangareader/sources.dart index ba9fd8ae..608c36f6 100644 --- a/dart/manga/multisrc/mangareader/sources.dart +++ b/dart/manga/multisrc/mangareader/sources.dart @@ -128,7 +128,7 @@ import 'src/shijiescans/shijiescans.dart'; import 'src/summertoon/summertoon.dart'; import 'src/zenithscans/zenithscans.dart'; -const mangareaderVersion = "0.1.4"; +const mangareaderVersion = "0.1.45"; const mangareaderSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/mangareader.dart";