[ExHentai] Fix tags and branch

Koitharu 2 years ago
parent a172fa5a5b
commit ce7ac5d8f4
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -98,16 +98,20 @@ internal class ExHentaiParser(
append(sq.urlEncoded()) append(sq.urlEncoded())
} }
var fCats = 0 val catsOn = filter.tags.mapNotNullToSet { it.key.toIntOrNull() }
filter.tags.forEach { tag -> val catsOff = filter.tagsExclude.mapNotNullToSet { it.key.toIntOrNull() }
tag.key.toIntOrNull()?.let { if (catsOff.size >= 10) {
fCats = fCats or it return emptyList()
} }
var fCats = catsOn.fold(0, Int::or)
if (fCats != 0) {
fCats = 1023 - fCats
} }
fCats = catsOff.fold(fCats, Int::or)
if (fCats != 0) { if (fCats != 0) {
append("&f_cats=") append("&f_cats=")
append(1023 - fCats) append(fCats)
} }
} }
@ -175,7 +179,7 @@ internal class ExHentaiParser(
val tabs = doc.body().selectFirst("table.ptt")?.selectFirst("tr") val tabs = doc.body().selectFirst("table.ptt")?.selectFirst("tr")
val lang = root.getElementById("gd3") val lang = root.getElementById("gd3")
?.selectFirst("tr:contains(Language)") ?.selectFirst("tr:contains(Language)")
?.selectFirst(".gdt2")?.text() ?.selectFirst(".gdt2")?.ownTextOrNull()
val tagMap = tagsMap.get() val tagMap = tagsMap.get()
val tags = ArraySet<MangaTag>() val tags = ArraySet<MangaTag>()
@ -277,7 +281,7 @@ internal class ExHentaiParser(
val id = div.id().substringAfterLast('_').toIntOrNull() ?: return@mapNotNullToSet null val id = div.id().substringAfterLast('_').toIntOrNull() ?: return@mapNotNullToSet null
val name = div.text().toTitleCase(Locale.ENGLISH) val name = div.text().toTitleCase(Locale.ENGLISH)
tagMap[name] = MangaTag( tagMap[name] = MangaTag(
title = name, title = "Kind: $name",
key = id.toString(), key = id.toString(),
source = source, source = source,
) )

Loading…
Cancel
Save