🔨 Mangakakalot fix

* issue #1522
* passing 5 out of 11 tests
master
shub39 1 year ago
parent 531145c7f9
commit ba5086c409

@ -17,10 +17,10 @@ import org.koitharu.kotatsu.parsers.util.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
@MangaSourceParser("MANGAKAKALOT", "Mangakakalot.com", "en") @MangaSourceParser("MANGAKAKALOT", "Mangakakalot.gg", "en")
internal class Mangakakalot(context: MangaLoaderContext) : internal class Mangakakalot(context: MangaLoaderContext) :
MangaboxParser(context, MangaParserSource.MANGAKAKALOT) { MangaboxParser(context, MangaParserSource.MANGAKAKALOT) {
override val configKeyDomain = ConfigKey.Domain("mangakakalot.com", "chapmanganato.com") override val configKeyDomain = ConfigKey.Domain("mangakakalot.gg", "chapmanganato.com")
override val availableSortOrders: Set<SortOrder> = EnumSet.of( override val availableSortOrders: Set<SortOrder> = EnumSet.of(
SortOrder.UPDATED, SortOrder.UPDATED,
SortOrder.POPULARITY, SortOrder.POPULARITY,
@ -48,7 +48,7 @@ internal class Mangakakalot(context: MangaLoaderContext) :
) )
override val otherDomain = "chapmanganato.com" override val otherDomain = "chapmanganato.com"
override val listUrl = "/manga_list" override val listUrl = "/genre/all"
private fun SearchableField.toParamName(): String = when (this) { private fun SearchableField.toParamName(): String = when (this) {
TAG -> "category" TAG -> "category"
@ -96,7 +96,7 @@ internal class Mangakakalot(context: MangaLoaderContext) :
var titleSearchUrl: String? = null var titleSearchUrl: String? = null
val url = buildString { val url = buildString {
val pageQueryParameter = "page=$page" val pageQueryParameter = "page=$page"
append("https://$domain/?") append("https://$domain/genre/all?")
query.criteria.forEach { criterion -> query.criteria.forEach { criterion ->
when (criterion) { when (criterion) {
@ -150,7 +150,7 @@ internal class Mangakakalot(context: MangaLoaderContext) :
} }
override suspend fun fetchAvailableTags(): Set<MangaTag> { override suspend fun fetchAvailableTags(): Set<MangaTag> {
val doc = webClient.httpGet("https://$domain/$listUrl").parseHtml() val doc = webClient.httpGet("https://$domain").parseHtml()
val tags = doc.select("ul.tag li a").drop(1) val tags = doc.select("ul.tag li a").drop(1)
return tags.mapToSet { a -> return tags.mapToSet { a ->
val key = a.attr("href").substringAfterLast("category=").substringBefore("&") val key = a.attr("href").substringAfterLast("category=").substringBefore("&")

Loading…
Cancel
Save