MangaOVH: Fix handling unexisting branches

Koitharu 2 years ago
parent 103ef11f3d
commit 4fdc02de35
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -216,12 +216,14 @@ class MangaOvhParser(context: MangaLoaderContext) : PagedMangaParser(context, Ma
}.reversed()
}
private suspend fun getBranchName(id: String): String? {
private suspend fun getBranchName(id: String): String? = runCatchingCancellable {
val url = urlBuilder("api")
.addPathSegment("branch")
.addPathSegment(id)
val json = webClient.httpGet(url.build()).parseJson()
return json.getJSONArray("publishers").mapJSONToSet { it.getStringOrNull("name") }.firstOrNull()
json.getJSONArray("publishers").mapJSONToSet { it.getStringOrNull("name") }.firstOrNull()
}.getOrElse {
id.substringBefore('-')
}
private fun String.toMangaState() = when (this.uppercase(Locale.ROOT)) {

@ -3,7 +3,6 @@ package org.koitharu.kotatsu.parsers
import kotlinx.coroutines.test.runTest
import okhttp3.HttpUrl
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedTest
import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.util.domain
@ -19,14 +18,6 @@ internal class MangaParserTest {
private val context = MangaLoaderContextMock
private val timeout = 2.minutes
@Test
fun singleTest() = runTest {
val manga = mangaOf(MangaSource.READMANGA_RU, "https://readmanga.live/podniatie_urovnia_v_odinochku__A5e4e")
val parser = context.newParserInstance(manga.source)
val details = parser.getDetails(manga)
assert(!details.chapters.isNullOrEmpty())
}
@ParameterizedTest(name = "{index}|list|{0}")
@MangaSources
fun list(source: MangaSource) = runTest(timeout = timeout) {

Loading…
Cancel
Save