Keyoapp: tweak selector; Asmodeus Scans: filter novel,fix info (#10870)
* Asmodeus Scans: filter novel, add/fix genres * Keyoapp: fix n tweak genre,type selector - previous type selector was mistakenly named genre - make genre selector val - tweak the genre selector to exclude manga status from genre * fix * tweak description
This commit is contained in:
parent
ab4b1e2276
commit
92a0ada358
@ -2,7 +2,7 @@ plugins {
|
||||
id("lib-multisrc")
|
||||
}
|
||||
|
||||
baseVersionCode = 17
|
||||
baseVersionCode = 18
|
||||
|
||||
dependencies {
|
||||
api(project(":lib:i18n"))
|
||||
|
||||
@ -215,7 +215,9 @@ abstract class Keyoapp(
|
||||
protected open val statusSelector: String = "div:has(span:containsOwn(Status)) ~ div"
|
||||
protected open val authorSelector: String = "div:has(span:containsOwn(Author)) ~ div"
|
||||
protected open val artistSelector: String = "div:has(span:containsOwn(Artist)) ~ div"
|
||||
protected open val genreSelector: String = "div:has(span:containsOwn(Type)) ~ div"
|
||||
protected open val genreSelector: String = "div.grid:has(>h1) > div > a:not([title='Status'])"
|
||||
|
||||
protected open val typeSelector: String = "div:has(span:containsOwn(Type)) ~ div"
|
||||
protected open val dateSelector: String = ".text-xs"
|
||||
|
||||
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
|
||||
@ -226,16 +228,16 @@ abstract class Keyoapp(
|
||||
author = document.selectFirst(authorSelector)?.text()
|
||||
artist = document.selectFirst(artistSelector)?.text()
|
||||
genre = buildList {
|
||||
document.selectFirst(genreSelector)?.text()?.replaceFirstChar {
|
||||
document.selectFirst(typeSelector)?.text()?.replaceFirstChar {
|
||||
if (it.isLowerCase()) {
|
||||
it.titlecase(
|
||||
Locale.getDefault(),
|
||||
Locale.ENGLISH,
|
||||
)
|
||||
} else {
|
||||
it.toString()
|
||||
}
|
||||
}.let(::add)
|
||||
document.select("div.grid:has(>h1) > div > a").forEach { add(it.text()) }
|
||||
document.select(genreSelector).forEach { add(it.text()) }
|
||||
}.joinToString()
|
||||
}
|
||||
|
||||
|
||||
@ -11,5 +11,5 @@ class AeinScans : Keyoapp(
|
||||
override val statusSelector: String = "div[alt=Status]"
|
||||
override val authorSelector: String = "div[alt=Author]"
|
||||
override val artistSelector: String = "div[alt=Artist]"
|
||||
override val genreSelector: String = "div[alt='Series Type']"
|
||||
override val typeSelector: String = "div[alt='Series Type']"
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ class ArtLapsa : Keyoapp("Art Lapsa", "https://artlapsa.com", "en") {
|
||||
|
||||
override val descriptionSelector = "#expand_content"
|
||||
override val statusSelector = "[alt=Status]"
|
||||
override val genreSelector = "[alt=Type]"
|
||||
override val typeSelector = "[alt=Type]"
|
||||
|
||||
override fun chapterListSelector(): String {
|
||||
if (!preferences.showPaidChapters) {
|
||||
|
||||
@ -1,9 +1,37 @@
|
||||
package eu.kanade.tachiyomi.extension.en.asmotoon
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.keyoapp.Keyoapp
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Document
|
||||
import java.util.Locale
|
||||
|
||||
class Asmotoon : Keyoapp(
|
||||
"Asmodeus Scans",
|
||||
"https://asmotoon.com",
|
||||
"en",
|
||||
)
|
||||
) {
|
||||
// filtering novel entries
|
||||
override fun popularMangaSelector() = "div:contains(Trending) + div .group.overflow-hidden.grid:not(:has(.capitalize:contains(Novel)))"
|
||||
override fun latestUpdatesSelector() = "div.grid > div.group:not(:has(.capitalize:contains(Novel)))"
|
||||
override fun searchMangaSelector() = "#searched_series_page > button:not(:has(.capitalize:contains(Novel)))"
|
||||
|
||||
override val descriptionSelector: String = "#expand_content"
|
||||
override val genreSelector: String = ".gap-3 .gap-1 a"
|
||||
|
||||
override fun mangaDetailsParse(document: Document): SManga {
|
||||
return super.mangaDetailsParse(document).apply {
|
||||
genre = buildList {
|
||||
document.selectFirst(typeSelector)?.text()?.replaceFirstChar {
|
||||
if (it.isLowerCase()) {
|
||||
it.titlecase(
|
||||
Locale.ENGLISH,
|
||||
)
|
||||
} else {
|
||||
it.toString()
|
||||
}
|
||||
}.let(::add)
|
||||
document.select(genreSelector).forEach { add(it.text().removeSuffix(",")) }
|
||||
}.joinToString()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,5 +11,5 @@ class CasaComic : Keyoapp(
|
||||
override val statusSelector: String = "div[alt=Status]"
|
||||
override val authorSelector: String = "div[alt=Author]"
|
||||
override val artistSelector: String = "div[alt=Artist]"
|
||||
override val genreSelector: String = "div[alt='Series Type']"
|
||||
override val typeSelector: String = "div[alt='Series Type']"
|
||||
}
|
||||
|
||||
@ -11,5 +11,5 @@ class KaynScans : Keyoapp(
|
||||
override val statusSelector: String = "div[alt=Status]"
|
||||
override val authorSelector: String = "div[alt=Author]"
|
||||
override val artistSelector: String = "div[alt=Artist]"
|
||||
override val genreSelector: String = "div[alt='Series Type']"
|
||||
override val typeSelector: String = "div[alt='Series Type']"
|
||||
}
|
||||
|
||||
@ -11,5 +11,5 @@ class MSYToon : Keyoapp(
|
||||
override val statusSelector: String = "div[alt=Status]"
|
||||
override val authorSelector: String = "div[alt=Author]"
|
||||
override val artistSelector: String = "div[alt=Artist]"
|
||||
override val genreSelector: String = "div[alt='Series Type']"
|
||||
override val typeSelector: String = "div[alt='Series Type']"
|
||||
}
|
||||
|
||||
@ -11,5 +11,5 @@ class NyanuKafe : Keyoapp(
|
||||
override val statusSelector: String = "div[alt=Status]"
|
||||
override val authorSelector: String = "div[alt=Author]"
|
||||
override val artistSelector: String = "div[alt=Artist]"
|
||||
override val genreSelector: String = "div[alt='Series Type']"
|
||||
override val typeSelector: String = "div[alt='Series Type']"
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ class RitharScans : Keyoapp("RitharScans", "https://ritharscans.com", "en") {
|
||||
|
||||
override val descriptionSelector = "#expand_content"
|
||||
override val statusSelector = "[alt=Status]"
|
||||
override val genreSelector = "[alt=Type]"
|
||||
override val typeSelector = "[alt=Type]"
|
||||
|
||||
override fun pageListParse(document: Document): List<Page> {
|
||||
val (pages, baseLink) = document.selectFirst("[x-data*=pages]")!!.attr("x-data")
|
||||
|
||||
@ -11,5 +11,5 @@ class ValirScans : Keyoapp(
|
||||
override val statusSelector: String = "div[alt=Status]"
|
||||
override val authorSelector: String = "div[alt=Author]"
|
||||
override val artistSelector: String = "div[alt=Artist]"
|
||||
override val genreSelector: String = "div[alt='Series Type']"
|
||||
override val typeSelector: String = "div[alt='Series Type']"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user