From 2d9ab0c4929e9a37d13413afc47a2c1e7393ddb4 Mon Sep 17 00:00:00 2001 From: jmir1 Date: Mon, 17 Jan 2022 19:06:01 +0100 Subject: [PATCH] vidembed: fix some errors --- src/en/vidembed/build.gradle | 2 +- .../animeextension/en/vidembed/Vidembed.kt | 32 ++++++++++++------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/en/vidembed/build.gradle b/src/en/vidembed/build.gradle index 0b4448082..3e8b437ae 100644 --- a/src/en/vidembed/build.gradle +++ b/src/en/vidembed/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Vidembed' pkgNameSuffix = 'en.vidembed' extClass = '.Vidembed' - extVersionCode = 1 + extVersionCode = 2 libVersion = '12' } diff --git a/src/en/vidembed/src/eu/kanade/tachiyomi/animeextension/en/vidembed/Vidembed.kt b/src/en/vidembed/src/eu/kanade/tachiyomi/animeextension/en/vidembed/Vidembed.kt index a20c69ae8..edfc2e064 100644 --- a/src/en/vidembed/src/eu/kanade/tachiyomi/animeextension/en/vidembed/Vidembed.kt +++ b/src/en/vidembed/src/eu/kanade/tachiyomi/animeextension/en/vidembed/Vidembed.kt @@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.animeextension.en.vidembed import android.app.Application import android.content.SharedPreferences import android.net.Uri +import android.util.Log import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource @@ -96,8 +97,12 @@ class Vidembed : ConfigurableAnimeSource, ParsedAnimeHttpSource() { when { url.contains("https://dood") -> { val newQuality = "Doodstream mirror" - val video = Video(url, newQuality, doodUrlParse(url), null, videoHeaders) - videoList.add(video) + val video = try { + Video(url, newQuality, doodUrlParse(url), null, videoHeaders) + } catch (e: Exception) { + null + } + if (video != null) videoList.add(video) } url.contains("https://sbplay") -> { val videos = sbplayUrlParse(url, location) @@ -152,19 +157,24 @@ class Vidembed : ConfigurableAnimeSource, ParsedAnimeHttpSource() { "https://sbplay2.com/dl?op=download_orig&id=$id&mode=$mode&hash=$hash" respDownloadLinkSelector.close() val video = sbplayVideoParser(downloadLink, quality) - videoList.add(video) + if (video != null) videoList.add(video) } return videoList } - private fun sbplayVideoParser(url: String, quality: String): Video { - val noRedirectClient = client.newBuilder().followRedirects(false).build() - val refererHeader = Headers.headersOf("Referer", url) - val respDownloadLink = noRedirectClient.newCall(GET(url, refererHeader)).execute() - val documentDownloadLink = respDownloadLink.asJsoup() - val downloadLink = documentDownloadLink.selectFirst("div.contentbox span a").attr("href") - respDownloadLink.close() - return Video(url, quality, downloadLink, null, refererHeader) + private fun sbplayVideoParser(url: String, quality: String): Video? { + try { + val noRedirectClient = client.newBuilder().followRedirects(false).build() + val refererHeader = Headers.headersOf("Referer", url) + val respDownloadLink = noRedirectClient.newCall(GET(url, refererHeader)).execute() + val documentDownloadLink = respDownloadLink.asJsoup() + Log.i("bruh", url) + val downloadLink = documentDownloadLink.selectFirst("div.contentbox span a").attr("href") + respDownloadLink.close() + return Video(url, quality, downloadLink, null, refererHeader) + } catch (e: Exception) { + return null + } } private fun doodUrlParse(url: String): String? {