diff --git a/Gomov/build.gradle.kts b/Gomov/build.gradle.kts index a8b04bca..87aa82a7 100644 --- a/Gomov/build.gradle.kts +++ b/Gomov/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 4 +version = 5 cloudstream { diff --git a/Gomov/src/main/kotlin/com/hexated/Gomov.kt b/Gomov/src/main/kotlin/com/hexated/Gomov.kt index 6282b98f..ab1c5fcf 100644 --- a/Gomov/src/main/kotlin/com/hexated/Gomov.kt +++ b/Gomov/src/main/kotlin/com/hexated/Gomov.kt @@ -46,7 +46,9 @@ open class Gomov : MainAPI() { val posterUrl = fixUrlNull(this.selectFirst("a > img")?.attr("src"))?.fixImageQuality() val quality = this.select("div.gmr-qual, div.gmr-quality-item > a").text().trim().replace("-", "") return if (quality.isEmpty()) { - val episode = this.select("div.gmr-numbeps > span").text().toIntOrNull() + val episode = + Regex("Episode\\s?([0-9]+)").find(title)?.groupValues?.getOrNull(1)?.toIntOrNull() + ?: this.select("div.gmr-numbeps > span").text().toIntOrNull() newAnimeSearchResponse(title, href, TvType.TvSeries) { this.posterUrl = posterUrl addSub(episode) diff --git a/Gomov/src/main/kotlin/com/hexated/Nodrakorid.kt b/Gomov/src/main/kotlin/com/hexated/Nodrakorid.kt index c6c119d1..c65d6b2f 100644 --- a/Gomov/src/main/kotlin/com/hexated/Nodrakorid.kt +++ b/Gomov/src/main/kotlin/com/hexated/Nodrakorid.kt @@ -35,7 +35,7 @@ class Nodrakorid : DutaMovie() { ele.ownText().filter { it.isDigit() }.toIntOrNull() to ele.select("a") .map { it.attr("href") to it.text() } }.filter { it.first != null } - Episode(siblings.toJson(), episode = num.filter { it.isDigit() }.toIntOrNull()) + Episode(siblings.toJson(), episode = Regex("Episode\\s?([0-9]+)").find(num)?.groupValues?.getOrNull(1)?.toIntOrNull()) } } } diff --git a/Movierulzhd/build.gradle.kts b/Movierulzhd/build.gradle.kts index 505d6303..e3151139 100644 --- a/Movierulzhd/build.gradle.kts +++ b/Movierulzhd/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 38 +version = 39 cloudstream { diff --git a/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt b/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt index ba4452d9..689a4f89 100644 --- a/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt +++ b/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt @@ -118,10 +118,10 @@ open class Movierulzhd : MainAPI() { document.select("span.date").text().trim() )?.groupValues?.get(1).toString().toIntOrNull() val tvType = if (document.select("ul#section > li:nth-child(1)").text() - .contains("Episodes") || document.selectFirst("ul#playeroptionsul li span.title") - ?.text()?.contains( + .contains("Episodes") || document.select("ul#playeroptionsul li span.title") + .text().contains( Regex("Episode\\s+\\d+|EP\\d+|PE\\d+") - ) == true + ) ) TvType.TvSeries else TvType.Movie val description = document.select("div.wp-content > p").text().trim() val trailer = document.selectFirst("div.embed iframe")?.attr("src") diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 6041ab65..0cd093b1 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -332,21 +332,14 @@ object SoraExtractor : SoraStream() { } val iframe = app.get(url).document.selectFirst("iframe.Moly")?.attr("data-src") - loadExtractor(iframe ?: return, "$dreamfilmAPI/", subtitleCallback) { link -> - callback.invoke( - ExtractorLink( - link.name, - link.name, - link.url, - link.referer, - Qualities.P1080.value, - link.isM3u8, - link.headers, - link.extractorData - ) - ) - } - + loadCustomExtractor( + null, + iframe ?: return, + "$dreamfilmAPI/", + subtitleCallback, + callback, + Qualities.P1080.value + ) } suspend fun invokeSeries9( diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt index 35c490a5..bc76418a 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt @@ -1154,7 +1154,7 @@ suspend fun tmdbToAnimeId(title: String?, year: Int?, season: String?, type: TvT } suspend fun loadCustomExtractor( - name: String, + name: String? = null, url: String, referer: String? = null, subtitleCallback: (SubtitleFile) -> Unit, @@ -1164,8 +1164,8 @@ suspend fun loadCustomExtractor( loadExtractor(url, referer, subtitleCallback) { link -> callback.invoke( ExtractorLink( - name, - name, + name ?: link.source, + name ?: link.name, link.url, link.referer, when {