add MangaCrab and MantrazScan

pull/232/head
devi 3 years ago
parent 2efdb1940a
commit ea3386eda5

@ -268,7 +268,7 @@ internal abstract class MadaraParser(
"div.description-summary div.summary__content, div.summary_content div.post-content_item > h5 + div, div.summary_content div.manga-excerpt, div.post-content div.manga-summary, div.post-content div.desc, div.c-page__content div.summary__content" "div.description-summary div.summary__content, div.summary_content div.post-content_item > h5 + div, div.summary_content div.manga-excerpt, div.post-content div.manga-summary, div.post-content div.desc, div.c-page__content div.summary__content"
protected open val selectGenre = "div.genres-content a" protected open val selectGenre = "div.genres-content a"
protected open val selectTestAsync = "div.listing-chapters_wrap" protected open val selectTestAsync = "div.listing-chapters_wrap"
protected open val selectState = ""
override suspend fun getDetails(manga: Manga): Manga = coroutineScope { override suspend fun getDetails(manga: Manga): Manga = coroutineScope {
val fullUrl = manga.url.toAbsoluteUrl(domain) val fullUrl = manga.url.toAbsoluteUrl(domain)
val doc = webClient.httpGet(fullUrl).parseHtml() val doc = webClient.httpGet(fullUrl).parseHtml()
@ -284,7 +284,9 @@ internal abstract class MadaraParser(
val desc = body.select(selectDesc).html() val desc = body.select(selectDesc).html()
val stateDiv = (body.selectFirst("div.post-content_item:contains(Status)") val stateDiv = if(selectState.isEmpty())
{
(body.selectFirst("div.post-content_item:contains(Status)")
?: body.selectFirst("div.post-content_item:contains(Statut)") ?: body.selectFirst("div.post-content_item:contains(Statut)")
?: body.selectFirst("div.post-content_item:contains(État)") ?: body.selectFirst("div.post-content_item:contains(État)")
?: body.selectFirst("div.post-content_item:contains(حالة العمل)") ?: body.selectFirst("div.post-content_item:contains(حالة العمل)")
@ -296,6 +298,11 @@ internal abstract class MadaraParser(
?: body.selectFirst("div.post-content_item:contains(Статус)") ?: body.selectFirst("div.post-content_item:contains(Статус)")
?: body.selectFirst("div.post-content_item:contains(状态)") ?: body.selectFirst("div.post-content_item:contains(状态)")
?: body.selectFirst("div.post-content_item:contains(الحالة)"))?.selectLast("div.summary-content") ?: body.selectFirst("div.post-content_item:contains(الحالة)"))?.selectLast("div.summary-content")
}else
{
body.selectFirst(selectState)
}
val state = stateDiv?.let { val state = stateDiv?.let {
when (it.text()) { when (it.text()) {

@ -0,0 +1,19 @@
package org.koitharu.kotatsu.parsers.site.madara.es
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("MANGA_CRAB", "Manga Crab", "es")
internal class MangaCrab(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.MANGA_CRAB, "manga-crab.com") {
override val datePattern = "dd/MM/yyyy"
override val tagPrefix = "manga-genero/"
override val listUrl = "series/"
override val selectChapter = "div.listing-chapters_wrap > ul > li"
override val selectDesc = "div.c-page__content div.modal-contenido p"
override val selectState = "div.summary-content2"
}

@ -0,0 +1,15 @@
package org.koitharu.kotatsu.parsers.site.madara.es
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("MANTRAZSCAN", "MantrazScan", "es")
internal class MantrazScan(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.MANTRAZSCAN, "mantrazscan.com") {
override val datePattern = "dd/MM/yyyy"
override val tagPrefix = "generos-de-manga/"
}
Loading…
Cancel
Save