[TemakiMangas] Small fixes
Close #1997
parent
b24baf7d93
commit
f22c8f9e7c
@ -1,20 +1,54 @@
|
|||||||
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
package org.koitharu.kotatsu.parsers.site.zeistmanga.pt
|
||||||
|
|
||||||
|
import kotlinx.coroutines.async
|
||||||
|
import kotlinx.coroutines.coroutineScope
|
||||||
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
import org.koitharu.kotatsu.parsers.MangaLoaderContext
|
||||||
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||||
import org.koitharu.kotatsu.parsers.model.MangaParserSource
|
import org.koitharu.kotatsu.parsers.model.*
|
||||||
import org.koitharu.kotatsu.parsers.model.MangaTag
|
|
||||||
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser
|
||||||
|
import org.koitharu.kotatsu.parsers.util.*
|
||||||
|
|
||||||
@MangaSourceParser("TEMAKIMANGAS", "TemakiMangas", "pt")
|
@MangaSourceParser("TEMAKIMANGAS", "TemakiMangas", "pt")
|
||||||
internal class TemakiMangas(context: MangaLoaderContext) :
|
internal class TemakiMangas(context: MangaLoaderContext) :
|
||||||
ZeistMangaParser(context, MangaParserSource.TEMAKIMANGAS, "www.temakimangas.xyz") {
|
ZeistMangaParser(context, MangaParserSource.TEMAKIMANGAS, "temakimangas.blogspot.com") {
|
||||||
|
|
||||||
override suspend fun getFilterOptions() = super.getFilterOptions().copy(
|
override suspend fun getFilterOptions() = super.getFilterOptions().copy(
|
||||||
availableStates = emptySet(),
|
availableStates = emptySet(),
|
||||||
)
|
)
|
||||||
|
|
||||||
override suspend fun fetchAvailableTags(): Set<MangaTag> = emptySet()
|
override suspend fun fetchAvailableTags(): Set<MangaTag> = emptySet()
|
||||||
}
|
override val selectPage = "#reader div.separator img"
|
||||||
|
|
||||||
|
override suspend fun getDetails(manga: Manga): Manga = coroutineScope {
|
||||||
|
val doc = webClient.httpGet(manga.url.toAbsoluteUrl(domain)).parseHtml()
|
||||||
|
val header = doc.selectFirst("header")
|
||||||
|
|
||||||
|
val state = header?.selectFirst("[data-status]")?.text()?.lowercase().let {
|
||||||
|
when (it) {
|
||||||
|
"dropado" -> MangaState.ABANDONED
|
||||||
|
"finalizada" -> MangaState.FINISHED
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val desc = doc.selectFirst("#synopsis")
|
||||||
|
val chaptersDeferred = async { loadChapters(manga.url, doc) }
|
||||||
|
|
||||||
|
manga.copy(
|
||||||
|
authors = setOf(doc.select("#extra-info dt:contains(Autor) + dd").text()),
|
||||||
|
tags = doc.select("dt:contains(Generos) + dd a").mapToSet { a ->
|
||||||
|
MangaTag(
|
||||||
|
key = a.attr("href").substringAfterLast("label/").substringBefore("?"),
|
||||||
|
title = a.text().toTitleCase(),
|
||||||
|
source = source,
|
||||||
|
)
|
||||||
|
},
|
||||||
|
description = desc?.text().orEmpty(),
|
||||||
|
state = state,
|
||||||
|
chapters = chaptersDeferred.await(),
|
||||||
|
coverUrl = header?.selectFirst(".thumb")?.attr("src") ?: manga.coverUrl,
|
||||||
|
title = header?.selectFirst("h1")?.text() ?: manga.title,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue