mirror of
https://github.com/recloudstream/cloudstream.git
synced 2025-05-19 20:27:04 +08:00
feat(Extensions): Prefer last registered ExtractorAPI (#1506)
* feat(Extensions): Prefer last registered ExtractorAPI * Iterate in Reverse * Update ExtractorApi.kt
This commit is contained in:
@ -712,7 +712,10 @@ suspend fun loadExtractor(
|
|||||||
): Boolean {
|
): Boolean {
|
||||||
val currentUrl = unshortenLinkSafe(url)
|
val currentUrl = unshortenLinkSafe(url)
|
||||||
val compareUrl = currentUrl.lowercase().replace(schemaStripRegex, "")
|
val compareUrl = currentUrl.lowercase().replace(schemaStripRegex, "")
|
||||||
for (extractor in extractorApis) {
|
|
||||||
|
// Iterate in reverse order so the new registered ExtractorApi takes priority
|
||||||
|
for (index in extractorApis.lastIndex downTo 0) {
|
||||||
|
val extractor = extractorApis[index]
|
||||||
if (compareUrl.startsWith(extractor.mainUrl.replace(schemaStripRegex, ""))) {
|
if (compareUrl.startsWith(extractor.mainUrl.replace(schemaStripRegex, ""))) {
|
||||||
extractor.getSafeUrl(currentUrl, referer, subtitleCallback, callback)
|
extractor.getSafeUrl(currentUrl, referer, subtitleCallback, callback)
|
||||||
return true
|
return true
|
||||||
@ -720,7 +723,8 @@ suspend fun loadExtractor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// this is to match mirror domains - like example.com, example.net
|
// this is to match mirror domains - like example.com, example.net
|
||||||
for (extractor in extractorApis) {
|
for (index in extractorApis.lastIndex downTo 0) {
|
||||||
|
val extractor = extractorApis[index]
|
||||||
if (FuzzySearch.partialRatio(
|
if (FuzzySearch.partialRatio(
|
||||||
extractor.mainUrl,
|
extractor.mainUrl,
|
||||||
currentUrl
|
currentUrl
|
||||||
|
Reference in New Issue
Block a user