[CBHentai] Fix duplicated tags (#1873)

Draken 11 months ago committed by GitHub
parent d94cf53624
commit 6cd29603ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -534,6 +534,14 @@ internal abstract class MadaraParser(
protected open val selectAlt = protected open val selectAlt =
".post-content_item:contains(Alt) .summary-content, .post-content_item:contains(Nomes alternativos: ) .summary-content" ".post-content_item:contains(Alt) .summary-content, .post-content_item:contains(Nomes alternativos: ) .summary-content"
protected open fun createMangaTag(a: Element): MangaTag? {
return MangaTag(
key = a.attr("href").removeSuffix("/").substringAfterLast('/'),
title = a.text().toTitleCase(),
source = source,
)
}
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()
@ -566,13 +574,7 @@ internal abstract class MadaraParser(
title = doc.selectFirst("h1")?.textOrNull() ?: manga.title, title = doc.selectFirst("h1")?.textOrNull() ?: manga.title,
url = href, url = href,
publicUrl = href.toAbsoluteUrl(domain), publicUrl = href.toAbsoluteUrl(domain),
tags = doc.body().select(selectGenre).mapToSet { a -> tags = doc.body().select(selectGenre).mapToSet { a -> createMangaTag(a) }.filterNotNull().toSet(),
MangaTag(
key = a.attr("href").removeSuffix("/").substringAfterLast('/'),
title = a.text().toTitleCase(),
source = source,
)
},
description = desc, description = desc,
altTitles = setOfNotNull(alt), altTitles = setOfNotNull(alt),
state = state, state = state,

@ -1,5 +1,6 @@
package org.koitharu.kotatsu.parsers.site.madara.vi package org.koitharu.kotatsu.parsers.site.madara.vi
import org.jsoup.nodes.Element
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.exception.ParseException import org.koitharu.kotatsu.parsers.exception.ParseException
@ -28,6 +29,14 @@ internal class HentaiCube(context: MangaLoaderContext) :
availableTags = fetchTags(), availableTags = fetchTags(),
) )
override fun createMangaTag(a: Element): MangaTag? {
return MangaTag(
title = a.text().replace(Regex("\\(\\d+\\)"), ""),
key = a.attr("href").substringAfter("/theloai/").removeSuffix("/"),
source = source,
)
}
override suspend fun getPages(chapter: MangaChapter): List<MangaPage> { override suspend fun getPages(chapter: MangaChapter): List<MangaPage> {
val fullUrl = chapter.url.toAbsoluteUrl(domain) val fullUrl = chapter.url.toAbsoluteUrl(domain)
val doc = webClient.httpGet(fullUrl).parseHtml() val doc = webClient.httpGet(fullUrl).parseHtml()

@ -39,7 +39,7 @@ internal class MimiHentai(context: MangaLoaderContext) :
SortOrder.ALPHABETICAL, SortOrder.ALPHABETICAL,
SortOrder.POPULARITY, SortOrder.POPULARITY,
SortOrder.POPULARITY_TODAY, SortOrder.POPULARITY_TODAY,
SortOrder.POPULARITY_WEEK, SortOrder.POPULARITY_WEEK,
SortOrder.POPULARITY_MONTH, SortOrder.POPULARITY_MONTH,
SortOrder.RATING, SortOrder.RATING,
) )

Loading…
Cancel
Save