fix(en/fmovies): Use correct action for mcloud and small tweak to filters (#2231)
This commit is contained in:
@ -8,7 +8,7 @@ ext {
|
|||||||
extName = 'FMovies'
|
extName = 'FMovies'
|
||||||
pkgNameSuffix = 'en.fmovies'
|
pkgNameSuffix = 'en.fmovies'
|
||||||
extClass = '.FMovies'
|
extClass = '.FMovies'
|
||||||
extVersionCode = 7
|
extVersionCode = 8
|
||||||
libVersion = '13'
|
libVersion = '13'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,13 +216,11 @@ class FMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
response.parseAs<AjaxResponse>().result,
|
response.parseAs<AjaxResponse>().result,
|
||||||
)
|
)
|
||||||
val hosterSelection = preferences.getStringSet(PREF_HOSTER_KEY, PREF_HOSTER_DEFAULT)!!
|
val hosterSelection = preferences.getStringSet(PREF_HOSTER_KEY, PREF_HOSTER_DEFAULT)!!
|
||||||
val videoList = mutableListOf<Video>()
|
|
||||||
|
|
||||||
videoList.addAll(
|
return document.select("ul.servers > li.server").parallelMap { server ->
|
||||||
document.select("ul.servers > li.server").parallelMap { server ->
|
|
||||||
runCatching {
|
runCatching {
|
||||||
val name = server.text().trim()
|
val name = server.text().trim()
|
||||||
if (!hosterSelection.contains(name)) return@runCatching null
|
if (!hosterSelection.contains(name)) return@runCatching emptyList()
|
||||||
|
|
||||||
// Get decrypted url
|
// Get decrypted url
|
||||||
val vrf = vrfHelper.getVrf(server.attr("data-link-id"))
|
val vrf = vrfHelper.getVrf(server.attr("data-link-id"))
|
||||||
@ -251,15 +249,10 @@ class FMovies : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
|
|
||||||
streamtapeExtractor.videoFromUrl(decrypted, subtitleList = subtitleList)?.let(::listOf) ?: emptyList()
|
streamtapeExtractor.videoFromUrl(decrypted, subtitleList = subtitleList)?.let(::listOf) ?: emptyList()
|
||||||
}
|
}
|
||||||
else -> null
|
else -> emptyList()
|
||||||
}
|
}
|
||||||
}.getOrNull()
|
}.getOrElse { emptyList() }
|
||||||
}.filterNotNull().flatten(),
|
}.flatten().ifEmpty { throw Exception("Failed to fetch videos") }
|
||||||
)
|
|
||||||
|
|
||||||
require(videoList.isNotEmpty()) { "Failed to fetch videos" }
|
|
||||||
|
|
||||||
return videoList.sort()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun videoListSelector() = throw Exception("not used")
|
override fun videoListSelector() = throw Exception("not used")
|
||||||
|
@ -288,6 +288,7 @@ object FMoviesFilters {
|
|||||||
)
|
)
|
||||||
|
|
||||||
val SORT = arrayOf(
|
val SORT = arrayOf(
|
||||||
|
Pair("Most relevance", "most_relevance"),
|
||||||
Pair("Recently updated", "recently_updated"),
|
Pair("Recently updated", "recently_updated"),
|
||||||
Pair("Recently added", "recently_added"),
|
Pair("Recently added", "recently_added"),
|
||||||
Pair("Release date", "release_date"),
|
Pair("Release date", "release_date"),
|
||||||
|
@ -39,7 +39,7 @@ class FMoviesHelper(private val client: OkHttpClient, private val headers: Heade
|
|||||||
|
|
||||||
fun getVidSrc(query: String, host: String): String {
|
fun getVidSrc(query: String, host: String): String {
|
||||||
val url = API_URL.newBuilder().apply {
|
val url = API_URL.newBuilder().apply {
|
||||||
addPathSegment("rawVizcloud")
|
addPathSegment(if (host == "vidstream.pro") "rawVizcloud" else "rawMcloud")
|
||||||
addQueryParameter("apikey", API_KEY)
|
addQueryParameter("apikey", API_KEY)
|
||||||
}.build().toString()
|
}.build().toString()
|
||||||
|
|
||||||
@ -52,13 +52,9 @@ class FMoviesHelper(private val client: OkHttpClient, private val headers: Heade
|
|||||||
add("futoken", futoken)
|
add("futoken", futoken)
|
||||||
}.build()
|
}.build()
|
||||||
|
|
||||||
val rawURL = client.newCall(
|
return client.newCall(
|
||||||
POST(url, body = body),
|
POST(url, body = body),
|
||||||
).execute().parseAs<RawResponse>().rawURL
|
).execute().parseAs<RawResponse>().rawURL
|
||||||
|
|
||||||
return rawURL.toHttpUrl().newBuilder().apply {
|
|
||||||
host(host)
|
|
||||||
}.build().toString()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
Reference in New Issue
Block a user