This commit is contained in:
kodjomoustapha
2024-07-07 10:06:54 +01:00
parent 46f512da61
commit 777c6dd71d
2 changed files with 22 additions and 14 deletions

View File

@@ -225,24 +225,32 @@ class MangaReader extends MProvider {
Future<List<String>> getPageList(String url) async { Future<List<String>> getPageList(String url) async {
url = getUrlWithoutDomain(url); url = getUrlWithoutDomain(url);
final res = (await client.get(Uri.parse('$baseUrl$url'))).body; final res = (await client.get(Uri.parse('$baseUrl$url'))).body;
List<String> pagesUrl = [];
final htmlElements = parseHtml(res).select("div#readerarea img"); List<String> pages = [];
for (var htmlElement in htmlElements) { List<String> pagesUrl = [];
String img = htmlElement.getSrc; bool invalidImgs = false;
if (img.contains("data:image")) { pages = xpath(res, '//*[@id="readerarea"]/p/img/@src');
img = htmlElement.getDataSrc; if (pages.isEmpty || pages.length == 1) {
} pages = xpath(res, '//*[@id="readerarea"]/img/@src');
pagesUrl.add(img);
} }
if (pagesUrl.isEmpty || pagesUrl.length == 1) { if (pages.length > 1) {
RegExp exp = RegExp("\"images\"\\s*:\\s*(\\[.*?])"); for (var page in pages) {
var match = exp.allMatches(res).toList()[0] as RegExpMatch; if (page.contains("data:image")) {
final images = match.group(1); invalidImgs = true;
final pages = json.decode(images!) as List; }
}
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) { for (var page in pages) {
pagesUrl.add(page); pagesUrl.add(page);
} }
} else {
return pages;
} }
return pagesUrl; return pagesUrl;

View File

@@ -128,7 +128,7 @@ import 'src/shijiescans/shijiescans.dart';
import 'src/summertoon/summertoon.dart'; import 'src/summertoon/summertoon.dart';
import 'src/zenithscans/zenithscans.dart'; import 'src/zenithscans/zenithscans.dart';
const mangareaderVersion = "0.1.4"; const mangareaderVersion = "0.1.45";
const mangareaderSourceCodeUrl = const mangareaderSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/mangareader.dart"; "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/mangareader/mangareader.dart";