From f9267d42371c78b095309c61e2902de67a7f5bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Pe=C3=B1a=20Y=20Lillo?= <80992641+Diegopyl1209@users.noreply.github.com> Date: Tue, 5 Apr 2022 17:25:44 -0400 Subject: [PATCH] =?UTF-8?q?[PelisPLusHD]=20Fix=20StreamSB=20extractor,=20f?= =?UTF-8?q?ix=20videourl=20extractor=20and=20add=20StreamTape=20ext?= =?UTF-8?q?=E2=80=A6=20(#462)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix StreamSB extractor, fix videourl extractor and add StreamTape extractor * Update build.gradle --- src/es/pelisplushd/build.gradle | 2 +- .../es/pelisplushd/Pelisplushd.kt | 65 +++++++++++-------- .../extractors/StreamSBExtractor.kt | 2 +- .../extractors/StreamTapeExtractor.kt | 18 +++++ 4 files changed, 58 insertions(+), 29 deletions(-) create mode 100644 src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/extractors/StreamTapeExtractor.kt diff --git a/src/es/pelisplushd/build.gradle b/src/es/pelisplushd/build.gradle index 97025f51d..5c4addc5c 100644 --- a/src/es/pelisplushd/build.gradle +++ b/src/es/pelisplushd/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Pelisplushd' pkgNameSuffix = 'es.pelisplushd' extClass = '.Pelisplushd' - extVersionCode = 5 + extVersionCode = 6 libVersion = '12' } diff --git a/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/Pelisplushd.kt b/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/Pelisplushd.kt index e2ecffaf1..b67ec722b 100644 --- a/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/Pelisplushd.kt +++ b/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/Pelisplushd.kt @@ -8,6 +8,7 @@ import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.es.pelisplushd.extractors.DoodExtractor import eu.kanade.tachiyomi.animeextension.es.pelisplushd.extractors.FembedExtractor import eu.kanade.tachiyomi.animeextension.es.pelisplushd.extractors.StreamSBExtractor +import eu.kanade.tachiyomi.animeextension.es.pelisplushd.extractors.StreamTapeExtractor import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilter import eu.kanade.tachiyomi.animesource.model.AnimeFilterList @@ -20,7 +21,6 @@ import eu.kanade.tachiyomi.util.asJsoup import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response -import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt @@ -97,39 +97,50 @@ class Pelisplushd : ConfigurableAnimeSource, ParsedAnimeHttpSource() { document.select("ul.TbVideoNv li").forEach { it -> val server = it.select("a").text() val option = it.attr("data-id") - document.select("script").forEach() { script -> - if (script.data().contains("video[1] =")) { + Log.i("bruh", "$option : $server") + document.select("div.page-container div#link_url span").forEach() { servers -> - if (server == "PlusTo") { - val iframeUrl = script.data().substringAfter("video[$option] = '").substringBefore("';") - val jsoup = Jsoup.connect(iframeUrl).get() - val url = jsoup.select("iframe").attr("src").replace("#caption=&poster=#", "") - Log.i("bruh", "$url") + if (servers.attr("lid") == option && server == "PlusTo") { + val url = servers.attr("url") + Log.i("bruh", "id:${servers.attr("lid")} server:$server Url: $url") + val videos = FembedExtractor().videosFromUrl(url) + videoList.addAll(videos) + } + //probably the conditions are redundant idk + if (servers.attr("lid") == option && server == "DoFast" || servers.attr("lid") == option && server == "DoodStream") { + val url = servers.attr("url").replace("doodstream.com", "dood.so") + Log.i("bruh", "id:${servers.attr("lid")} server:$server Url1: $url") + val video = try { DoodExtractor(client).videoFromUrl(url, "DoodStream") } catch (e: Exception) { null } + if (video != null) { + videoList.add(video) + } + } + if (servers.attr("lid") == option && server == "FastTape" || servers.attr("lid") == option && server == "StreamTape") { + val url = servers.attr("url") + Log.i("bruh", "id:${servers.attr("lid")} server:$server Url1: $url") + val video = StreamTapeExtractor(client).videoFromUrl(url, "StreamTape") + if (video != null) { + videoList.add(video) + } + } - val videos = FembedExtractor().videosFromUrl(url) - videoList.addAll(videos) - } - if (server == "DoodStream") { - val url = script.data().substringAfter("video[$option] = '").substringBefore("';") - val video = try { DoodExtractor(client).videoFromUrl(url, "DoodStream") } catch (e: Exception) { null } - if (video != null) { - videoList.add(video) - } - } - if (server == "SBFast") { - val url = script.data().substringAfter("video[$option] = '").substringBefore("';") - val headers = headers.newBuilder() - .set("Referer", url) - .set("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0") - .set("Accept-Language", "en-US,en;q=0.5") - .set("watchsb", "streamsb") - .build() - val video = StreamSBExtractor(client).videosFromUrl(url, headers) + if (servers.attr("lid") == option && server == "SBFast" || servers.attr("lid") == option && server == "SBFas") { + val url = servers.attr("url") + Log.i("bruh", "id:${servers.attr("lid")} server:$server Url2: $url") + val headers = headers.newBuilder() + .set("Referer", url) + .set("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0") + .set("Accept-Language", "en-US,en;q=0.5") + .set("watchsb", "streamsb") + .build() + val video = try { StreamSBExtractor(client).videosFromUrl(url, headers) } catch (e: Exception) { null } + if (video != null) { videoList.addAll(video) } } } } + return videoList } diff --git a/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/extractors/StreamSBExtractor.kt b/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/extractors/StreamSBExtractor.kt index 87b9ca3ef..a6ececd9a 100644 --- a/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/extractors/StreamSBExtractor.kt +++ b/src/es/pelisplushd/src/eu/kanade/tachiyomi/animeextension/es/pelisplushd/extractors/StreamSBExtractor.kt @@ -26,7 +26,7 @@ class StreamSBExtractor(private val client: OkHttpClient) { } fun videosFromUrl(url: String, headers: Headers): List