From 2efdb1940a5f8d655ef655fd11585bf09adfa9bd Mon Sep 17 00:00:00 2001 From: devi Date: Sun, 13 Aug 2023 09:00:57 +0200 Subject: [PATCH] fix Asura Scans --- .../kotatsu/parsers/site/mangareader/MangaReaderParser.kt | 6 +++--- .../kotatsu/parsers/site/mangareader/en/AsuraScansParser.kt | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt index 48c661e7..7a9dfdf9 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt @@ -220,13 +220,13 @@ internal abstract class MangaReaderParser( protected open val encodedSrc = false protected open val selectScript = "div.wrapper script" - protected open val selectPage = "div#readerarea img" + protected open val selectTestScript = "script:containsData(ts_reader)" override suspend fun getPages(chapter: MangaChapter): List { val chapterUrl = chapter.url.toAbsoluteUrl(domain) val docs = webClient.httpGet(chapterUrl).parseHtml() - val test = docs.select("script:containsData(ts_reader)") + val test = docs.select(selectTestScript) if (test.isNullOrEmpty() and !encodedSrc) { return docs.select(selectPage).map { img -> val url = img.src()?.toRelativeUrl(domain) ?: img.parseFailed("Image src not found") @@ -257,7 +257,7 @@ internal abstract class MangaReaderParser( .getJSONArray("images") } else { - val script = docs.selectFirstOrThrow("script:containsData(ts_reader)") + val script = docs.selectFirstOrThrow(selectTestScript) JSONObject(script.data().substringAfter('(').substringBeforeLast(')')) .getJSONArray("sources") .getJSONObject(0) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/AsuraScansParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/AsuraScansParser.kt index f78e7426..6d897ac3 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/AsuraScansParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/AsuraScansParser.kt @@ -7,7 +7,11 @@ import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser @MangaSourceParser("ASURASCANS", "Asura Scans", "en") internal class AsuraScansParser(context: MangaLoaderContext) : - MangaReaderParser(context, MangaSource.ASURASCANS, "asura.gg", pageSize = 20, searchPageSize = 10) { + MangaReaderParser(context, MangaSource.ASURASCANS, "asura.nacm.xyz", pageSize = 20, searchPageSize = 10) { override val datePattern = "MMM d, yyyy" + override val selectPage = "div#readerarea p img" + + // A little dummy text to avoid importing the whole getpage part + override val selectTestScript = "Force to parse html" }