MangaOVH: Fix handling unexisting branches

master
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() }.reversed()
} }
private suspend fun getBranchName(id: String): String? { private suspend fun getBranchName(id: String): String? = runCatchingCancellable {
val url = urlBuilder("api") val url = urlBuilder("api")
.addPathSegment("branch") .addPathSegment("branch")
.addPathSegment(id) .addPathSegment(id)
val json = webClient.httpGet(url.build()).parseJson() 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)) { private fun String.toMangaState() = when (this.uppercase(Locale.ROOT)) {

@ -3,7 +3,6 @@ package org.koitharu.kotatsu.parsers
import kotlinx.coroutines.test.runTest import kotlinx.coroutines.test.runTest
import okhttp3.HttpUrl import okhttp3.HttpUrl
import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.ParameterizedTest
import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.util.domain import org.koitharu.kotatsu.parsers.util.domain
@ -19,14 +18,6 @@ internal class MangaParserTest {
private val context = MangaLoaderContextMock private val context = MangaLoaderContextMock
private val timeout = 2.minutes 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}") @ParameterizedTest(name = "{index}|list|{0}")
@MangaSources @MangaSources
fun list(source: MangaSource) = runTest(timeout = timeout) { fun list(source: MangaSource) = runTest(timeout = timeout) {

Loading…
Cancel
Save