feat(multisrc/animestream/es): New source: AnimeYT.es and Anime.Tiodonghua.com and others fixes (#2531)
@ -0,0 +1,5 @@
|
||||
dependencies {
|
||||
implementation(project(":lib-okru-extractor"))
|
||||
implementation(project(":lib-streamtape-extractor"))
|
||||
implementation(project(":lib-sendvid-extractor"))
|
||||
}
|
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 50 KiB |
30
multisrc/overrides/animestream/animeytes/src/AnimeYTES.kt
Normal file
@ -0,0 +1,30 @@
|
||||
package eu.kanade.tachiyomi.animeextension.es.animeytes
|
||||
|
||||
import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor
|
||||
import eu.kanade.tachiyomi.lib.sendvidextractor.SendvidExtractor
|
||||
import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor
|
||||
import eu.kanade.tachiyomi.multisrc.animestream.AnimeStream
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
|
||||
class AnimeYTES : AnimeStream(
|
||||
"es",
|
||||
"AnimeYT.es",
|
||||
"https://animeyt.es",
|
||||
) {
|
||||
override val animeListUrl = "$baseUrl/tv"
|
||||
|
||||
// ============================ Video Links =============================
|
||||
private val okruExtractor by lazy { OkruExtractor(client) }
|
||||
private val streamtapeExtractor by lazy { StreamTapeExtractor(client) }
|
||||
private val sendvidExtractor by lazy { SendvidExtractor(client, headers) }
|
||||
|
||||
override fun getVideoList(url: String, name: String): List<Video> {
|
||||
return when (name) {
|
||||
"OK" -> okruExtractor.videosFromUrl(url)
|
||||
"Stream" -> streamtapeExtractor.videosFromUrl(url)
|
||||
"Send" -> sendvidExtractor.videosFromUrl(url)
|
||||
else -> emptyList()
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
dependencies {
|
||||
|
||||
implementation(project(":lib-okru-extractor"))
|
||||
implementation(project(":lib-mixdrop-extractor"))
|
||||
implementation(project(":lib-voe-extractor"))
|
||||
implementation(project(":lib-yourupload-extractor"))
|
||||
}
|
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 58 KiB |
39
multisrc/overrides/animestream/tiodonghua/src/Tiodonghua.kt
Normal file
@ -0,0 +1,39 @@
|
||||
package eu.kanade.tachiyomi.animeextension.es.tiodonghua
|
||||
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.lib.mixdropextractor.MixDropExtractor
|
||||
import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor
|
||||
import eu.kanade.tachiyomi.lib.voeextractor.VoeExtractor
|
||||
import eu.kanade.tachiyomi.lib.youruploadextractor.YourUploadExtractor
|
||||
import eu.kanade.tachiyomi.multisrc.animestream.AnimeStream
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
|
||||
class Tiodonghua : AnimeStream(
|
||||
"es",
|
||||
"Tiodonghua.com",
|
||||
"https://anime.tiodonghua.com",
|
||||
) {
|
||||
|
||||
|
||||
// ============================ Video Links =============================
|
||||
private val okruExtractor by lazy { OkruExtractor(client) }
|
||||
private val voeExtractor by lazy { VoeExtractor(client) }
|
||||
private val youruploadExtractor by lazy { YourUploadExtractor(client) }
|
||||
private val mixdropExtractor by lazy { MixDropExtractor(client) }
|
||||
|
||||
override fun getVideoList(url: String, name: String): List<Video> {
|
||||
return when (name) {
|
||||
"Okru" -> okruExtractor.videosFromUrl(url)
|
||||
"Voe" -> voeExtractor.videosFromUrl(url)
|
||||
"YourUpload" -> youruploadExtractor.videoFromUrl(url, headers)
|
||||
"MixDrop" -> mixdropExtractor.videosFromUrl(url)
|
||||
else -> emptyList()
|
||||
}
|
||||
}
|
||||
|
||||
override val fetchFilters: Boolean
|
||||
get() = false
|
||||
|
||||
}
|
@ -16,6 +16,8 @@ class AnimeStreamGenerator : ThemeSourceGenerator {
|
||||
SingleLang("Animenosub", "https://animenosub.com", "en", isNsfw = true, overrideVersionCode = 3),
|
||||
SingleLang("AnimeTitans", "https://animetitans.com", "ar", isNsfw = false, overrideVersionCode = 13),
|
||||
SingleLang("AnimeXin", "https://animexin.vip", "all", isNsfw = false, overrideVersionCode = 7),
|
||||
SingleLang("AnimeYT.es", "https://animeyt.es", "es", isNsfw = false, className = "AnimeYTES", pkgName = "animeytes"),
|
||||
SingleLang("Tiodonghua.com", "https://anime.tiodonghua.com", "es", isNsfw = false, className = "Tiodonghua", pkgName = "tiodonghua"),
|
||||
SingleLang("AsyaAnimeleri", "https://asyaanimeleri.com", "tr", isNsfw = false, overrideVersionCode = 1),
|
||||
SingleLang("ChineseAnime", "https://chineseanime.top", "all", isNsfw = false, overrideVersionCode = 3),
|
||||
SingleLang("desu-online", "https://desu-online.pl", "pl", className = "DesuOnline", isNsfw = false, overrideVersionCode = 3),
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'EnNovelas'
|
||||
pkgNameSuffix = 'es.ennovelas'
|
||||
extClass = '.EnNovelas'
|
||||
extVersionCode = 6
|
||||
extVersionCode = 7
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,7 @@ class EnNovelas : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
override val name = "EnNovelas"
|
||||
|
||||
override val baseUrl = "https://f.ennovelas.net"
|
||||
override val baseUrl = "https://u.ennovelas.net"
|
||||
|
||||
override val lang = "es"
|
||||
|
||||
@ -52,7 +52,7 @@ class EnNovelas : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
override fun popularAnimeSelector(): String = ".block-post"
|
||||
|
||||
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/novelas/page/$page")
|
||||
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/telenovelas/page/$page")
|
||||
|
||||
override fun popularAnimeFromElement(element: Element): SAnime {
|
||||
val anime = SAnime.create()
|
||||
|