diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 5cdf5003..ac6a493e 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -1665,15 +1665,21 @@ object SoraExtractor : SoraStream() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ) { - val id = app.get("$consumetCrunchyrollAPI/$title") - .parsedSafe()?.results?.find { + val res = app.get("$consumetCrunchyrollAPI/$title") + .parsedSafe()?.results ?: return + + val id = (if (res.size == 1) { + res.firstOrNull() + } else { + res.find { it.title.equals( title, true ) && it.type.equals("series") - } ?: return + } + })?.id ?: return - val detail = app.get("$consumetCrunchyrollAPI/info?id=${id.id}&mediaType=series").text + val detail = app.get("$consumetCrunchyrollAPI/info?id=$id&mediaType=series").text val epsId = tryParseJson(detail)?.findCrunchyrollId( title, season, @@ -1904,7 +1910,10 @@ object SoraExtractor : SoraStream() { ?.substringAfter("('")?.substringBefore("')") val unPacker = - app.get(iframe ?: return, referer = "https://flixon.ru/").document.selectFirst("script:containsData(JuicyCodes.Run)") + app.get( + iframe ?: return, + referer = "https://flixon.ru/" + ).document.selectFirst("script:containsData(JuicyCodes.Run)") ?.data() ?.substringAfter("JuicyCodes.Run(")?.substringBefore(");")?.split("+") ?.joinToString("") { it.replace("\"", "").trim() }