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
This commit is contained in:
Riztard Lanthorn 2022-06-06 23:25:16 +07:00 committed by GitHub
parent 1905256b08
commit 9ebac7a263
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 7 deletions

View File

@ -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

View File

@ -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"

View File

@ -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),