Dâm Cô Nương: Fix exclude tags, CSS selectors for parseMangaList (#2064)

master
Draken 9 months ago committed by GitHub
parent f61f5329e3
commit bfdb10d002
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -75,8 +75,8 @@ internal class DamCoNuong(context: MangaLoaderContext) :
filter.states.forEach { filter.states.forEach {
append( append(
when (it) { when (it) {
MangaState.ONGOING -> "2" MangaState.ONGOING -> "2,"
MangaState.FINISHED -> "1" MangaState.FINISHED -> "1,"
else -> "2,1" else -> "2,1"
}, },
) )
@ -93,6 +93,11 @@ internal class DamCoNuong(context: MangaLoaderContext) :
append(filter.query.urlEncoded()) append(filter.query.urlEncoded())
} }
if (filter.tagsExclude.isNotEmpty()) {
append("&filter[reject_genres]=")
append(filter.tagsExclude.joinTo(this, ",") { it.key })
}
append("&page=$page") append("&page=$page")
} }
@ -101,30 +106,33 @@ internal class DamCoNuong(context: MangaLoaderContext) :
} }
private fun parseMangaList(doc: Document): List<Manga> { private fun parseMangaList(doc: Document): List<Manga> {
return doc.select("div.border.rounded-lg.border-gray-300.dark\\:border-dark-blue.bg-white.dark\\:bg-fire-blue.manga-vertical") return doc.select(
.map { element -> "div.border.rounded-xl.border-gray-300.dark\\:border-dark-blue.bg-white.dark\\:bg-fire-blue"
val mainA = element.selectFirstOrThrow("div.relative a") ).map { element ->
val href = mainA.attrAsRelativeUrl("href") val mainA = element.selectFirstOrThrow("div.relative a")
val title = element.selectFirst("div.latest-chapter a.text-white.capitalize")?.textOrNull() ?: "No name" val href = mainA.attrAsRelativeUrl("href")
val coverUrl = element.selectFirst("img.rounded-t-lg.cover.lazyload")?.let { img -> val title = mainA.selectFirst("div.cover-frame img")?.attr("alt")
img.attr("data-src").takeUnless { it.isNullOrEmpty() } ?: img.requireSrc() ?.takeIf { it.isNotBlank() }
} ?: element.selectFirst("div.p-3 h3 a")?.text()?.takeIf { it.isNotBlank() }
?: "Không có tiêu đề"
Manga( val coverUrl = mainA.select("div.cover-frame img").attr("data-src").takeIf { it.isNotBlank() }
id = generateUid(href), ?: mainA.select("div.cover-frame img").attr("src")
title = title,
altTitles = emptySet(), Manga(
url = href, id = generateUid(href),
publicUrl = href.toAbsoluteUrl(domain), title = title,
rating = RATING_UNKNOWN, altTitles = emptySet(),
contentRating = ContentRating.ADULT, url = href,
coverUrl = coverUrl, publicUrl = href.toAbsoluteUrl(domain),
tags = emptySet(), rating = RATING_UNKNOWN,
state = null, contentRating = ContentRating.ADULT,
authors = emptySet(), coverUrl = coverUrl,
source = source, tags = emptySet(),
) state = null,
} authors = emptySet(),
source = source,
)
}
} }
override suspend fun getDetails(manga: Manga): Manga { override suspend fun getDetails(manga: Manga): Manga {

Loading…
Cancel
Save