Use a different title for japanese manga vs other manga (#181)
* Use a different title for japanese manga vs other manga * Revert wildcard import
This commit is contained in:
parent
820279634e
commit
a8c6474f5e
@ -22,6 +22,7 @@ import kotlinx.serialization.json.Json
|
|||||||
import kotlinx.serialization.json.JsonArray
|
import kotlinx.serialization.json.JsonArray
|
||||||
import kotlinx.serialization.json.JsonObject
|
import kotlinx.serialization.json.JsonObject
|
||||||
import kotlinx.serialization.json.buildJsonObject
|
import kotlinx.serialization.json.buildJsonObject
|
||||||
|
import kotlinx.serialization.json.contentOrNull
|
||||||
import kotlinx.serialization.json.jsonArray
|
import kotlinx.serialization.json.jsonArray
|
||||||
import kotlinx.serialization.json.jsonObject
|
import kotlinx.serialization.json.jsonObject
|
||||||
import kotlinx.serialization.json.jsonPrimitive
|
import kotlinx.serialization.json.jsonPrimitive
|
||||||
@ -103,10 +104,21 @@ class Anilist : API("https://graphql.anilist.co/") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun getTitle(obj: JsonObject): String {
|
private fun getTitle(obj: JsonObject): String {
|
||||||
return obj["title"]!!.jsonObject.let {
|
val titleObj = obj["title"]!!.jsonObject
|
||||||
it["romaji"]?.jsonPrimitive?.content
|
|
||||||
?: it["english"]?.jsonPrimitive?.content
|
val english = titleObj["english"]?.jsonPrimitive?.contentOrNull
|
||||||
?: it["native"]!!.jsonPrimitive.content
|
val romaji = titleObj["romaji"]?.jsonPrimitive?.contentOrNull
|
||||||
|
val native = titleObj["native"]?.jsonPrimitive?.contentOrNull
|
||||||
|
val synonym = obj["synonyms"]!!.jsonArray.getOrNull(0)?.jsonPrimitive?.contentOrNull
|
||||||
|
|
||||||
|
val isJP = obj["countryOfOrigin"]!!.jsonPrimitive.content == "JP"
|
||||||
|
|
||||||
|
return when {
|
||||||
|
!english.isNullOrBlank() -> english
|
||||||
|
isJP && !romaji.isNullOrBlank() -> romaji
|
||||||
|
!synonym.isNullOrBlank() -> synonym
|
||||||
|
!isJP && !romaji.isNullOrBlank() -> romaji
|
||||||
|
else -> native ?: "NO NAME FOUND"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,12 +138,14 @@ class Anilist : API("https://graphql.anilist.co/") {
|
|||||||
|edges {
|
|edges {
|
||||||
|node {
|
|node {
|
||||||
|mediaRecommendation {
|
|mediaRecommendation {
|
||||||
|
|countryOfOrigin
|
||||||
|siteUrl
|
|siteUrl
|
||||||
|title {
|
|title {
|
||||||
|romaji
|
|romaji
|
||||||
|english
|
|english
|
||||||
|native
|
|native
|
||||||
|}
|
|}
|
||||||
|
|synonyms
|
||||||
|coverImage {
|
|coverImage {
|
||||||
|large
|
|large
|
||||||
|}
|
|}
|
||||||
@ -203,7 +217,7 @@ open class RecommendsPager(
|
|||||||
recs
|
recs
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Timber.tag("RECOMMENDATIONS").e("%s > Error: %s", key, e.message)
|
Timber.tag("RECOMMENDATIONS").e("%s > Error: %s", key, e.message)
|
||||||
listOf()
|
listOf<SMangaImpl>()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.firstOrNull { it.isNotEmpty() }
|
.firstOrNull { it.isNotEmpty() }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user