From 8665186426d36655ae9df422cb05a19a9f78ec0c Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 21 Jun 2025 19:18:59 +0300 Subject: [PATCH] [LibSocial] Fix chapters branches --- .../parsers/site/ru/rulib/LibSocialParser.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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 49a24f2e5..1a6b1bd5c 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 @@ -291,21 +291,29 @@ internal abstract class LibSocialParser( val volume = jo.getIntOrDefault("volume", 0) val number = jo.getFloatOrDefault("number", 0f) val numberString = number.formatSimple() - val name = jo.getStringOrNull("name") ?: buildString { - if (volume > 0) append("Том ").append(volume).append(' ') - append("Глава ").append(numberString) - } + val name = jo.getStringOrNull("name") val branches = jo.getJSONArray("branches") for (j in 0 until branches.length()) { val bjo = branches.getJSONObject(j) val id = bjo.getLong("id") + val branchId = bjo.getLongOrDefault("branch_id", 0L) val team = bjo.getJSONArray("teams").optJSONObject(0)?.getStringOrNull("name") builder += MangaChapter( id = generateUid(id), title = name, number = number, volume = volume, - url = "${manga.url}/chapter?number=$numberString&volume=$volume", + url = buildString { + append(manga.url) + append("/chapter?number=") + append(numberString) + append("&volume=") + append(volume) + if (branchId != 0L) { + append("&branch_id=") + append(branchId) + } + }, scanlator = team, uploadDate = dateFormat.tryParse(bjo.getStringOrNull("created_at")), branch = if (useBranching) team else null,