From bb9902e3b2499fcb1f9d28e87f53abd4b00149b4 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 5 Jul 2024 12:17:16 +0300 Subject: [PATCH] [LibSoc] Add split by translations config option --- .../kotatsu/parsers/site/ru/rulib/LibSocialParser.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/ru/rulib/LibSocialParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/ru/rulib/LibSocialParser.kt index d5afad35e..aa5fa8eca 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/ru/rulib/LibSocialParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/ru/rulib/LibSocialParser.kt @@ -37,6 +37,7 @@ internal abstract class LibSocialParser( 5, MangaState.ABANDONED, ) private val imageServers = SuspendLazy(::fetchServers) + private val splitTranslationsKey = ConfigKey.SplitByTranslations(true) override suspend fun getListPage(page: Int, filter: MangaListFilter?): List { val urlBuilder = urlBuilder("api") @@ -167,6 +168,11 @@ internal abstract class LibSocialParser( } } + override fun onCreateConfig(keys: MutableCollection>) { + super.onCreateConfig(keys) + keys.add(splitTranslationsKey) + } + private fun parseManga(jo: JSONObject): Manga { val cover = jo.getJSONObject("cover") return Manga( @@ -197,6 +203,7 @@ internal abstract class LibSocialParser( val json = webClient.httpGet(url).parseJson().getJSONArray("data") val builder = ChaptersListBuilder(json.length()) val dateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US) + val useBranching = config[splitTranslationsKey] for (i in 0 until json.length()) { val jo = json.getJSONObject(i) val volume = jo.getIntOrDefault("volume", 0) @@ -219,7 +226,7 @@ internal abstract class LibSocialParser( url = "${manga.url}/chapter?number=$numberString&volume=$volume", scanlator = team, uploadDate = dateFormat.tryParse(bjo.getStringOrNull("created_at")), - branch = team, + branch = if (useBranching) team else null, source = source, ) }