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,14 +106,17 @@ 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"
).map { element ->
val mainA = element.selectFirstOrThrow("div.relative a") val mainA = element.selectFirstOrThrow("div.relative a")
val href = mainA.attrAsRelativeUrl("href") val href = mainA.attrAsRelativeUrl("href")
val title = element.selectFirst("div.latest-chapter a.text-white.capitalize")?.textOrNull() ?: "No name" val title = mainA.selectFirst("div.cover-frame img")?.attr("alt")
val coverUrl = element.selectFirst("img.rounded-t-lg.cover.lazyload")?.let { img -> ?.takeIf { it.isNotBlank() }
img.attr("data-src").takeUnless { it.isNullOrEmpty() } ?: img.requireSrc() ?: element.selectFirst("div.p-3 h3 a")?.text()?.takeIf { it.isNotBlank() }
} ?: "Không có tiêu đề"
val coverUrl = mainA.select("div.cover-frame img").attr("data-src").takeIf { it.isNotBlank() }
?: mainA.select("div.cover-frame img").attr("src")
Manga( Manga(
id = generateUid(href), id = generateUid(href),

Loading…
Cancel
Save