From 9ebac7a2632d0884f48fb45d81a0e72c563b3643 Mon Sep 17 00:00:00 2001 From: Riztard Lanthorn Date: Mon, 6 Jun 2022 23:25:16 +0700 Subject: [PATCH] WPMangaStream, AsuraScans: Separate selector, fix series desc (#12094) - Separate selector as val to make it simpler to override - fix series desc selector in some case --- .../asurascans/src/AsuraScansFactory.kt | 3 +++ .../multisrc/wpmangastream/WPMangaStream.kt | 19 +++++++++++++------ .../wpmangastream/WPMangaStreamGenerator.kt | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt b/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt index fca11f4fc..da821517e 100644 --- a/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt +++ b/multisrc/overrides/wpmangastream/asurascans/src/AsuraScansFactory.kt @@ -15,6 +15,9 @@ class AsuraScansFactory : SourceFactory { } class AsuraScansEn : AsuraScans("https://www.asurascans.com", "en", SimpleDateFormat("MMM d, yyyy", Locale.US)) { + + override val mangaDetailsSelectorDescription = "div.desc p, div.entry-content p, div[itemprop=description]:not(:has(p))" + override val pageSelector = "div.rdminimal > img, div.rdminimal > p > img" // Skip scriptPages diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt index 47a3d63f9..b302688a0 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStream.kt @@ -203,13 +203,13 @@ abstract class WPMangaStream( override fun mangaDetailsParse(document: Document): SManga { return SManga.create().apply { document.select("div.bigcontent, div.animefull, div.main-info").firstOrNull()?.let { infoElement -> - status = parseStatus(infoElement.select("span:contains(Status:), .imptdt:contains(Status) i").firstOrNull()?.ownText()) - author = isEmptyPlaceholder(infoElement.select("span:contains(Author:), span:contains(Pengarang:), .fmed b:contains(Author)+span, .imptdt:contains(Author) i").firstOrNull()?.ownText()) - artist = isEmptyPlaceholder(infoElement.select(".fmed b:contains(Artist)+span, .imptdt:contains(Artist) i").firstOrNull()?.ownText()) - description = infoElement.select("div.desc p, div.entry-content p").joinToString("\n") { it.text() } - thumbnail_url = infoElement.select("div.thumb img").imgAttr() + status = parseStatus(infoElement.select(mangaDetailsSelectorStatus).firstOrNull()?.ownText()) + author = isEmptyPlaceholder(infoElement.select(mangaDetailsSelectorAuthor).firstOrNull()?.ownText()) + artist = isEmptyPlaceholder(infoElement.select(mangaDetailsSelectorArtist).firstOrNull()?.ownText()) + description = infoElement.select(mangaDetailsSelectorDescription).joinToString("\n") { it.text() } + thumbnail_url = infoElement.select(mangaDetailsSelectorThumbnail).imgAttr() - val genres = infoElement.select("span:contains(Genre) a, .mgen a") + val genres = infoElement.select(mangaDetailsSelectorGenre) .map { element -> element.text().lowercase() } .toMutableSet() @@ -234,6 +234,13 @@ abstract class WPMangaStream( } } } + // Manga Details Selector + open val mangaDetailsSelectorAuthor = "span:contains(Author:), span:contains(Pengarang:), .fmed b:contains(Author)+span, .imptdt:contains(Author) i" + open val mangaDetailsSelectorArtist = ".fmed b:contains(Artist)+span, .imptdt:contains(Artist) i" + open val mangaDetailsSelectorStatus = "span:contains(Status:), .imptdt:contains(Status) i" + open val mangaDetailsSelectorDescription = "div.desc p, div.entry-content p" + open val mangaDetailsSelectorThumbnail = "div.thumb img" + open val mangaDetailsSelectorGenre = "span:contains(Genre) a, .mgen a" open val seriesTypeSelector = "span:contains(Type) a, .imptdt:contains(Type) a, a[href*=type\\=], .infotable tr:contains(Type) td:last-child" open val altNameSelector = ".alternative, .wd-full:contains(Alt) span, .alter, .seriestualt" diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt index e914175e3..e0882cdc8 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangastream/WPMangaStreamGenerator.kt @@ -13,7 +13,7 @@ class WPMangaStreamGenerator : ThemeSourceGenerator { override val baseVersionCode: Int = 15 override val sources = listOf( - MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 13), + MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 14), SingleLang("Boosei", "https://boosei.com", "id", overrideVersionCode = 1), SingleLang("GoGoManga", "https://gogomanga.fun", "en", overrideVersionCode = 1), SingleLang("Imagine Scan", "https://imaginescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 1),