From 3e1b15a23c7bb235008553d97f62f5a84b39f184 Mon Sep 17 00:00:00 2001 From: AwkwardPeak7 Date: Tue, 12 Dec 2023 23:35:07 +0500 Subject: [PATCH] review changes --- .../site/all/NineNineNineHentaiParser.kt | 36 +++++++------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/NineNineNineHentaiParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/NineNineNineHentaiParser.kt index af3885f4..0bd23373 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/NineNineNineHentaiParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/NineNineNineHentaiParser.kt @@ -15,7 +15,6 @@ import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.model.MangaListFilter import org.koitharu.kotatsu.parsers.model.MangaPage import org.koitharu.kotatsu.parsers.model.MangaSource -import org.koitharu.kotatsu.parsers.model.MangaState import org.koitharu.kotatsu.parsers.model.MangaTag import org.koitharu.kotatsu.parsers.model.RATING_UNKNOWN import org.koitharu.kotatsu.parsers.model.SortOrder @@ -30,6 +29,7 @@ import org.koitharu.kotatsu.parsers.util.mapToSet import org.koitharu.kotatsu.parsers.util.oneOrThrowIfMany import org.koitharu.kotatsu.parsers.util.parseHtml import org.koitharu.kotatsu.parsers.util.toAbsoluteUrl +import org.koitharu.kotatsu.parsers.util.toCamelCase import java.text.SimpleDateFormat import java.util.EnumSet import java.util.Locale @@ -105,7 +105,7 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang return tags.mapJSONToSet { val name = it.getString("name") MangaTag( - title = name.capitalize(), + title = name.toCamelCase(), key = name, source = source ) @@ -124,7 +124,9 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang is MangaListFilter.Search -> { getSearchList(page, filter.query, null, null, filter.sortOrder) } - else -> emptyList() + else -> { + getPopularList(page, null) + } } } @@ -217,7 +219,7 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang publicUrl = "/hchapter/$id".toAbsoluteUrl(domain), tags = emptySet(), source = source, - state = MangaState.FINISHED, + state = null, rating = RATING_UNKNOWN, ) } @@ -274,16 +276,16 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang altTitle = name, coverUrl = cover.first, largeCoverUrl = cover.second, - author = tags?.filter { it.type == "artist" }?.joinToString { it.name.capitalize() }, + author = tags?.filter { it.type == "artist" }?.joinToString { it.name.toCamelCase() }, isNsfw = true, tags = tags?.mapToSet { MangaTag( - title = it.name.capitalize(), + title = it.name.toCamelCase(), key = it.name, source = source ) }.orEmpty(), - state = MangaState.FINISHED, + state = null, description = entry.getStringOrNull("description"), chapters = listOf( MangaChapter( @@ -291,7 +293,7 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang name = name, number = 1, url = id, - uploadDate = kotlin.runCatching { + uploadDate = runCatching { dateFormat.parse(entry.getString("uploadDate"))!!.time }.getOrDefault(0L), branch = entry.getStringOrNull("language")?.let { @@ -309,7 +311,7 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang "artistcg" -> "ArtistCG" "gamecg" -> "GameCG" "imageset" -> "ImageSet" - else -> entry.getStringOrNull("format")?.capitalize() + else -> entry.getStringOrNull("format")?.toCamelCase() }, source = source ) @@ -317,7 +319,7 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang ) } - data class SiteTag( + private data class SiteTag( val name: String, val type: String?, ) @@ -394,19 +396,5 @@ internal class NineNineNineHentaiParser(context: MangaLoaderContext) : PagedMang private const val size = 20 private val shortenTitleRegex = Regex("""(\[[^]]*]|[({][^)}]*[)}])""") private val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH) - - private fun String.capitalize(): String { - return this.trim().split(" ").joinToString(" ") { word -> - word.replaceFirstChar { - if (it.isLowerCase()) { - it.titlecase( - Locale.getDefault(), - ) - } else { - it.toString() - } - } - } - } } }