From ec7c2a1be71db86c100194c5e668fbcbf2e09335 Mon Sep 17 00:00:00 2001 From: hexated Date: Sat, 11 Mar 2023 07:52:21 +0700 Subject: [PATCH] small fix --- .../main/kotlin/com/hexated/SoraExtractor.kt | 31 ++++++++++++++----- .../src/main/kotlin/com/hexated/SoraUtils.kt | 4 ++- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 6b4ba83c..46db12a4 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -2738,19 +2738,34 @@ object SoraExtractor : SoraStream() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit, ) { - val slug = title.createSlug() - val url = if (season == null) { - "$ask4MoviesAPI/$slug-$year" + val query = if (season == null) { + title } else { - "$ask4MoviesAPI/$slug-season-$season" + "$title season $season" + } + val mediaData = + app.get("$ask4MoviesAPI/?s=$query").document.select("div#search-content div.item").map { + it.selectFirst("div.main-item a") + } + + val media = if (mediaData.size == 1) { + mediaData.firstOrNull() + } else { + mediaData.find { + if (season == null) { + it?.text().equals("$title ($year)", true) + } else { + it?.text().equals("$title (Season $season)", true) + } + } } - val doc = app.get(url).document + val epsDoc = app.get(media?.attr("href") ?: return).document - val iframe = if(season == null) { - doc.select("div#player-embed iframe").attr("data-src") + val iframe = if (season == null) { + epsDoc.select("div#player-embed iframe").attr("data-src") } else { - doc.select("ul.group-links-list li:nth-child($episode) a").attr("data-embed-src") + epsDoc.select("ul.group-links-list li:nth-child($episode) a").attr("data-embed-src") } loadExtractor(iframe, ask4MoviesAPI, subtitleCallback, callback) diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt index 6c16ff3e..bafc3af2 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt @@ -898,7 +898,9 @@ fun Headers.getGomoviesCookies(cookieKey: String = "set-cookie"): Map