feat(es:lacartoons): Add Sendvid extractor support (#1222)

Updated Lacartoons to recognize Sendvid providers, which were previously failing in series like "La Robot Adolescente." Included the SendvidExtractor from the shared library to handle HLS streams and direct MP4 links.

(cherry picked from commit 9908b70af0602b17cd204ab3a065cd3a652130de)
This commit is contained in:
Roberto G. Dubón
2026-02-26 06:59:14 -06:00
committed by Cuong-Tran
parent 15d5cd4153
commit 64882d55c5
2 changed files with 6 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
ext {
extName = 'LACartoons'
extClass = '.Lacartoons'
extVersionCode = 18
extVersionCode = 19
}
apply from: "$rootDir/common.gradle"
@@ -13,4 +13,5 @@ dependencies {
implementation(project(':lib:voe-extractor'))
implementation(project(':lib:yourupload-extractor'))
implementation(project(':lib:universal-extractor'))
implementation(project(':lib:sendvid-extractor'))
}

View File

@@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor
import eu.kanade.tachiyomi.lib.sendvidextractor.SendvidExtractor
import eu.kanade.tachiyomi.lib.streamhidevidextractor.StreamHideVidExtractor
import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
import eu.kanade.tachiyomi.lib.universalextractor.UniversalExtractor
@@ -49,6 +50,7 @@ class Lacartoons : ConfigurableAnimeSource, AnimeHttpSource() {
"YourUpload",
"FileLions",
"StreamHideVid",
"Sendvid",
)
}
@@ -129,6 +131,7 @@ class Lacartoons : ConfigurableAnimeSource, AnimeHttpSource() {
private fun serverVideoResolver(url: String): List<Video> {
val embedUrl = url.lowercase()
val extractor = SendvidExtractor(client, headers)
return when {
embedUrl.contains("ok.ru") || embedUrl.contains("okru") -> OkruExtractor(client).videosFromUrl(url)
embedUrl.contains("filelions") || embedUrl.contains("lion") -> StreamWishExtractor(client, headers).videosFromUrl(url, videoNameGen = { "FileLions:$it" })
@@ -143,6 +146,7 @@ class Lacartoons : ConfigurableAnimeSource, AnimeHttpSource() {
embedUrl.contains("guccihide") || embedUrl.contains("streamvid") -> StreamHideVidExtractor(client, headers).videosFromUrl(url)
embedUrl.contains("voe") -> VoeExtractor(client, headers).videosFromUrl(url)
embedUrl.contains("yourupload") || embedUrl.contains("upload") -> YourUploadExtractor(client).videoFromUrl(url, headers = headers)
embedUrl.contains("sendvid") -> extractor.videosFromUrl(url)
else -> UniversalExtractor(client).videosFromUrl(url, headers)
}
}