mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
[Sora] filter low quality from index site
This commit is contained in:
parent
315b6b3cdb
commit
fcdccf9155
3 changed files with 12 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 81
|
version = 82
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -2102,6 +2102,7 @@ object SoraExtractor : SoraStream() {
|
||||||
val worker = getConfig().workers.randomOrNull() ?: return@apmap null
|
val worker = getConfig().workers.randomOrNull() ?: return@apmap null
|
||||||
|
|
||||||
val link = "https://api.$worker.workers.dev/download.aspx?file=$encryptedId&expiry=$encryptedExpiry&mac=$hmacSign"
|
val link = "https://api.$worker.workers.dev/download.aspx?file=$encryptedId&expiry=$encryptedExpiry&mac=$hmacSign"
|
||||||
|
if(!app.get(link).isSuccessful) return@apmap null
|
||||||
val size = file.size?.toDouble() ?: return@apmap null
|
val size = file.size?.toDouble() ?: return@apmap null
|
||||||
val sizeFile = "%.2f GB".format(bytesToGigaBytes(size))
|
val sizeFile = "%.2f GB".format(bytesToGigaBytes(size))
|
||||||
val tags = Regex("\\d{3,4}[pP]\\.?(.*?)\\.(mkv|mp4)").find(
|
val tags = Regex("\\d{3,4}[pP]\\.?(.*?)\\.(mkv|mp4)").find(
|
||||||
|
@ -2228,6 +2229,7 @@ object SoraExtractor : SoraStream() {
|
||||||
}).text.let {
|
}).text.let {
|
||||||
fixUrl(it, apiUrl)
|
fixUrl(it, apiUrl)
|
||||||
}.encodeUrl()
|
}.encodeUrl()
|
||||||
|
if(!app.get(path).isSuccessful) return@apmap null
|
||||||
val size = file.size?.toDouble() ?: return@apmap null
|
val size = file.size?.toDouble() ?: return@apmap null
|
||||||
val sizeFile = "%.2f GB".format(bytesToGigaBytes(size))
|
val sizeFile = "%.2f GB".format(bytesToGigaBytes(size))
|
||||||
val quality =
|
val quality =
|
||||||
|
|
|
@ -642,7 +642,7 @@ fun searchIndex(
|
||||||
"video/mp4",
|
"video/mp4",
|
||||||
"video/x-msvideo"
|
"video/x-msvideo"
|
||||||
)
|
)
|
||||||
return tryParseJson<IndexSearch>(response)?.data?.files?.filter { media ->
|
val files = tryParseJson<IndexSearch>(response)?.data?.files?.filter { media ->
|
||||||
(if (season == null) {
|
(if (season == null) {
|
||||||
media.name?.contains("$year") == true
|
media.name?.contains("$year") == true
|
||||||
} else {
|
} else {
|
||||||
|
@ -659,7 +659,14 @@ fun searchIndex(
|
||||||
"-",
|
"-",
|
||||||
" "
|
" "
|
||||||
).contains("$spaceSlug", true))
|
).contains("$spaceSlug", true))
|
||||||
}?.distinctBy { it.name }
|
}?.distinctBy { it.name }?.sortedByDescending { it.size?.toLongOrNull() ?: 0 } ?: return null
|
||||||
|
|
||||||
|
return files.let { file ->
|
||||||
|
listOfNotNull(
|
||||||
|
file.find { it.name?.contains("2160p", true) == true },
|
||||||
|
file.find { it.name?.contains("1080p", true) == true }
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getConfig(): BaymoviesConfig {
|
suspend fun getConfig(): BaymoviesConfig {
|
||||||
|
|
Loading…
Reference in a new issue