Fixed a bug in exception handling in extractors (#840)
This commit is contained in:
@ -9,10 +9,6 @@ import androidx.preference.EditTextPreference
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.MultiSelectListPreference
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.DdosGuardInterceptor
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.RedirectInterceptor
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.SConstants
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.SerienstreamInterceptor
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.extractors.DoodExtractor
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.extractors.StreamTapeExtractor
|
||||
import eu.kanade.tachiyomi.animeextension.de.serienstream.extractors.VoeExtractor
|
||||
|
@ -106,7 +106,7 @@ class DramaCool : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
url.contains("sbplay2.com") || url.contains("japopav.tv") || url.contains("viewsb.com") ||
|
||||
url.contains("sbfast") || url.contains("sbfull.com") || url.contains("javplaya.com") ||
|
||||
url.contains("ssbstream.net") || url.contains("p1ayerjavseen.com") || url.contains("sbthe.com") ||
|
||||
url.contains("streamsss.net") || url.contains("sbplay2.xyz") // || url.contains("")
|
||||
url.contains("streamsss.net") || url.contains("sbplay2.xyz") // || url.contains("")
|
||||
-> {
|
||||
val headers = headers.newBuilder()
|
||||
.set("Referer", url)
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Animefenix'
|
||||
pkgNameSuffix = 'es.animefenix'
|
||||
extClass = '.Animefenix'
|
||||
extVersionCode = 7
|
||||
extVersionCode = 8
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.net.URLDecoder
|
||||
|
||||
class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -157,7 +156,7 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
@ -21,7 +20,7 @@ class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
private val hexArray = "0123456789ABCDEF".toCharArray()
|
||||
@ -47,7 +46,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'AnimeFLV'
|
||||
pkgNameSuffix = 'es.animeflv'
|
||||
extClass = '.AnimeFlv'
|
||||
extVersionCode = 27
|
||||
extVersionCode = 28
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,6 @@ import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class AnimeFlv : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -173,7 +172,7 @@ class AnimeFlv : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class DoodExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String): Video? {
|
||||
@ -25,7 +24,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
Video(url, quality, videoUrl, headers = doodHeaders(doodTld))
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
private val hexArray = "0123456789ABCDEF".toCharArray()
|
||||
@ -47,7 +46,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers): List<Video> {
|
||||
@ -22,7 +21,7 @@ class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'AnimeID'
|
||||
pkgNameSuffix = 'es.animeid'
|
||||
extClass = '.AnimeID'
|
||||
extVersionCode = 4
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,6 @@ import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
import java.net.URI
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
@ -194,7 +193,7 @@ class AnimeID : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'AnimeLatinoHD'
|
||||
pkgNameSuffix = 'es.animelatinohd'
|
||||
extClass = '.AnimeLatinoHD'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,6 @@ import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
|
||||
class AnimeLatinoHD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
@ -233,7 +232,7 @@ class AnimeLatinoHD : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class DoodExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String): Video? {
|
||||
@ -25,7 +24,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
Video(url, quality, videoUrl, headers = doodHeaders(doodTld))
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
@ -21,7 +20,7 @@ class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
private val hexArray = "0123456789ABCDEF".toCharArray()
|
||||
@ -47,7 +46,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'AnimeonlineNinja'
|
||||
pkgNameSuffix = 'es.animeonlineninja'
|
||||
extClass = '.AnimeonlineNinja'
|
||||
extVersionCode = 8
|
||||
extVersionCode = 9
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class AnimeonlineNinja : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -211,7 +210,7 @@ class AnimeonlineNinja : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class DoodExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String): Video? {
|
||||
@ -25,7 +24,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
Video(url, quality, videoUrl, headers = doodHeaders(doodTld))
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
@ -21,7 +20,7 @@ class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
private val hexArray = "0123456789ABCDEF".toCharArray()
|
||||
@ -47,7 +46,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class UploadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers, quality: String): Video? {
|
||||
@ -13,7 +12,7 @@ class UploadExtractor(private val client: OkHttpClient) {
|
||||
val document = client.newCall(GET(url)).execute().asJsoup()
|
||||
val basicUrl = document.selectFirst("script:containsData(var player =)").data().substringAfter("sources: [\"").substringBefore("\"],")
|
||||
return Video(basicUrl, "$quality Uqload", basicUrl, headers = headers)
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Animeyt'
|
||||
pkgNameSuffix = 'es.animeyt'
|
||||
extClass = '.Animeyt'
|
||||
extVersionCode = 4
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,6 @@ import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class Animeyt : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -110,7 +109,7 @@ class Animeyt : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.OkHttpClient
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
|
||||
class FastreamExtractor(private val client: OkHttpClient) {
|
||||
private val json: Json by injectLazy()
|
||||
@ -70,7 +69,7 @@ class FastreamExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'AsiaLiveAction'
|
||||
pkgNameSuffix = 'es.asialiveaction'
|
||||
extClass = '.AsiaLiveAction'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
import java.util.Calendar
|
||||
|
||||
@ -149,7 +148,7 @@ class AsiaLiveAction : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
private val hexArray = "0123456789ABCDEF".toCharArray()
|
||||
@ -46,7 +45,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Doramasyt'
|
||||
pkgNameSuffix = 'es.doramasyt'
|
||||
extClass = '.Doramasyt'
|
||||
extVersionCode = 4
|
||||
extVersionCode = 5
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
|
||||
class Doramasyt : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
@ -142,7 +141,7 @@ class Doramasyt : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
@ -21,7 +20,7 @@ class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class UqloadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers, quality: String): List<Video> {
|
||||
@ -22,7 +21,7 @@ class UqloadExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Hentaijk'
|
||||
pkgNameSuffix = 'es.hentaijk'
|
||||
extClass = '.Hentaijk'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '13'
|
||||
containsNsfw = true
|
||||
}
|
||||
|
@ -25,7 +25,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class Hentaijk : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -217,7 +216,7 @@ class Hentaijk : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Hentaila'
|
||||
pkgNameSuffix = 'es.hentaila'
|
||||
extClass = '.Hentaila'
|
||||
extVersionCode = 8
|
||||
extVersionCode = 9
|
||||
libVersion = '13'
|
||||
containsNsfw = true
|
||||
}
|
||||
|
@ -30,7 +30,6 @@ import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class Hentaila : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -132,7 +131,7 @@ class Hentaila : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Jkanime'
|
||||
pkgNameSuffix = 'es.jkanime'
|
||||
extClass = '.Jkanime'
|
||||
extVersionCode = 6
|
||||
extVersionCode = 7
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -217,7 +216,7 @@ class Jkanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Jkhentai'
|
||||
pkgNameSuffix = 'es.jkhentai'
|
||||
extClass = '.Jkhentai'
|
||||
extVersionCode = 7
|
||||
extVersionCode = 8
|
||||
libVersion = '13'
|
||||
containsNsfw = true
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class Jkhentai : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -121,7 +120,7 @@ class Jkhentai : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
@ -21,7 +20,7 @@ class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers): List<Video> {
|
||||
@ -22,7 +21,7 @@ class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'MonosChinos'
|
||||
pkgNameSuffix = 'es.monoschinos'
|
||||
extClass = '.MonosChinos'
|
||||
extVersionCode = 15
|
||||
extVersionCode = 16
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
|
||||
class MonosChinos : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
@ -123,7 +122,7 @@ class MonosChinos : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
@ -21,7 +20,7 @@ class SolidFilesExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'MundoDonghua'
|
||||
pkgNameSuffix = 'es.mundodonghua'
|
||||
extClass = '.MundoDonghua'
|
||||
extVersionCode = 5
|
||||
extVersionCode = 6
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
class MundoDonghua : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -164,7 +163,7 @@ class MundoDonghua : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ import okhttp3.Headers
|
||||
import org.jsoup.Connection
|
||||
import org.jsoup.Jsoup
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
|
||||
class ProteaExtractor() {
|
||||
private val json: Json by injectLazy()
|
||||
@ -45,7 +44,7 @@ class ProteaExtractor() {
|
||||
videoList.add(Video("https://$urlVideo", quality, "https://$urlVideo", headers = newHeaders))
|
||||
}
|
||||
}
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
return videoList
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Pelisflix'
|
||||
pkgNameSuffix = 'es.pelisflix'
|
||||
extClass = '.PelisflixFactory'
|
||||
extVersionCode = 3
|
||||
extVersionCode = 4
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,6 @@ import org.jsoup.select.Elements
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
open class Pelisflix(override val name: String, override val baseUrl: String) : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -165,7 +164,7 @@ open class Pelisflix(override val name: String, override val baseUrl: String) :
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
@ -230,13 +229,13 @@ open class Pelisflix(override val name: String, override val baseUrl: String) :
|
||||
.substringBefore("Recuerda ")
|
||||
.substringBefore("Director:")
|
||||
.trim()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
document.selectFirst("article.TPost header div.TPMvCn div.Description p:nth-child(1)").text().removeSurrounding("\"").trim()
|
||||
}
|
||||
|
||||
var title = try {
|
||||
document.selectFirst("article.TPost header.Container div.TPMvCn h1.Title").text().removePrefix("Serie").trim()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
document.selectFirst("article.TPost header.Container div.TPMvCn a h1.Title").text().removePrefix("Serie").trim()
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,6 @@ import okhttp3.Response
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
|
||||
class PelisflixFactory : AnimeSourceFactory {
|
||||
override fun createSources(): List<AnimeSource> = listOf(PelisflixClass(), SeriesflixClass())
|
||||
@ -192,7 +191,7 @@ class SeriesflixClass : Pelisflix("Seriesflix", "https://seriesflix.video") {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class DoodExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String): Video? {
|
||||
@ -25,7 +24,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
Video(url, quality, videoUrl, headers = doodHeaders(doodTld))
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Pelisplushd'
|
||||
pkgNameSuffix = 'es.pelisplushd'
|
||||
extClass = '.Pelisplushd'
|
||||
extVersionCode = 17
|
||||
extVersionCode = 18
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -32,8 +32,7 @@ import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
import kotlin.Exception
|
||||
|
||||
class Pelisplushd : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
|
||||
@ -63,7 +62,7 @@ class Pelisplushd : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
element.select("a").attr("href")
|
||||
)
|
||||
anime.title = element.select("a div.listing-content p").text()
|
||||
anime.thumbnail_url = element.select("a img").attr("src")
|
||||
anime.thumbnail_url = element.select("a img").attr("src").replace("/w154/", "/w200/")
|
||||
return anime
|
||||
}
|
||||
|
||||
@ -172,32 +171,48 @@ class Pelisplushd : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
}
|
||||
}
|
||||
"uwu" -> {
|
||||
if (!url.contains("disable")) {
|
||||
val body = client.newCall(GET(url)).execute().asJsoup()
|
||||
if (body.select("script:containsData(var shareId)").toString().isNotBlank()) {
|
||||
val shareId = body.selectFirst("script:containsData(var shareId)").data().substringAfter("shareId = \"").substringBefore("\"")
|
||||
val amazonApiJson = client.newCall(GET("https://www.amazon.com/drive/v1/shares/$shareId?resourceVersion=V2&ContentType=JSON&asset=ALL")).execute().asJsoup()
|
||||
val epId = amazonApiJson.toString().substringAfter("\"id\":\"").substringBefore("\"")
|
||||
val amazonApi = client.newCall(GET("https://www.amazon.com/drive/v1/nodes/$epId/children?resourceVersion=V2&ContentType=JSON&limit=200&sort=%5B%22kind+DESC%22%2C+%22modifiedDate+DESC%22%5D&asset=ALL&tempLink=true&shareId=$shareId")).execute().asJsoup()
|
||||
val videoUrl = amazonApi.toString().substringAfter("\"FOLDER\":").substringAfter("tempLink\":\"").substringBefore("\"")
|
||||
videoList.add(Video(videoUrl, "Amazon", videoUrl))
|
||||
try {
|
||||
if (!url.contains("disable")) {
|
||||
val body = client.newCall(GET(url)).execute().asJsoup()
|
||||
if (body.select("script:containsData(var shareId)").toString()
|
||||
.isNotBlank()
|
||||
) {
|
||||
val shareId =
|
||||
body.selectFirst("script:containsData(var shareId)").data()
|
||||
.substringAfter("shareId = \"").substringBefore("\"")
|
||||
val amazonApiJson =
|
||||
client.newCall(GET("https://www.amazon.com/drive/v1/shares/$shareId?resourceVersion=V2&ContentType=JSON&asset=ALL"))
|
||||
.execute().asJsoup()
|
||||
val epId = amazonApiJson.toString().substringAfter("\"id\":\"")
|
||||
.substringBefore("\"")
|
||||
val amazonApi =
|
||||
client.newCall(GET("https://www.amazon.com/drive/v1/nodes/$epId/children?resourceVersion=V2&ContentType=JSON&limit=200&sort=%5B%22kind+DESC%22%2C+%22modifiedDate+DESC%22%5D&asset=ALL&tempLink=true&shareId=$shareId"))
|
||||
.execute().asJsoup()
|
||||
val videoUrl = amazonApi.toString().substringAfter("\"FOLDER\":")
|
||||
.substringAfter("tempLink\":\"").substringBefore("\"")
|
||||
videoList.add(Video(videoUrl, "Amazon", videoUrl))
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {}
|
||||
}
|
||||
"voex" -> {
|
||||
val body = client.newCall(GET(url)).execute().asJsoup()
|
||||
val data1 = body.selectFirst("script:containsData(const sources = {)").data()
|
||||
val video = data1.substringAfter("hls\": \"").substringBefore("\"")
|
||||
videoList.add(Video(video, "Voex", video))
|
||||
try {
|
||||
val body = client.newCall(GET(url)).execute().asJsoup()
|
||||
val data1 = body.selectFirst("script:containsData(const sources = {)").data()
|
||||
val video = data1.substringAfter("hls\": \"").substringBefore("\"")
|
||||
videoList.add(Video(video, "Voex", video))
|
||||
} catch (e: Exception) {}
|
||||
}
|
||||
"streamlare" -> {
|
||||
val id = url.substringAfter("/e/").substringBefore("?poster")
|
||||
val videoUrlResponse = client.newCall(POST("https://slwatch.co/api/video/stream/get?id=$id")).execute().asJsoup()
|
||||
json.decodeFromString<JsonObject>(videoUrlResponse.select("body").text())["result"]?.jsonObject?.forEach { quality ->
|
||||
val resolution = quality.toString().substringAfter("\"label\":\"").substringBefore("\"")
|
||||
val videoUrl = quality.toString().substringAfter("\"file\":\"").substringBefore("\"")
|
||||
videoList.add(Video(videoUrl, "Streamlare:$resolution", videoUrl))
|
||||
}
|
||||
try {
|
||||
val id = url.substringAfter("/e/").substringBefore("?poster")
|
||||
val videoUrlResponse = client.newCall(POST("https://slwatch.co/api/video/stream/get?id=$id")).execute().asJsoup()
|
||||
json.decodeFromString<JsonObject>(videoUrlResponse.select("body").text())["result"]?.jsonObject?.forEach { quality ->
|
||||
val resolution = quality.toString().substringAfter("\"label\":\"").substringBefore("\"")
|
||||
val videoUrl = quality.toString().substringAfter("\"file\":\"").substringBefore("\"")
|
||||
videoList.add(Video(videoUrl, "Streamlare:$resolution", videoUrl))
|
||||
}
|
||||
} catch (e: Exception) {}
|
||||
}
|
||||
"doodstream" -> {
|
||||
val url2 = url.replace("https://doodstream.com/e/", "https://dood.to/e/")
|
||||
@ -233,7 +248,7 @@ class Pelisplushd : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
@ -263,6 +278,8 @@ class Pelisplushd : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
override fun animeDetailsParse(document: Document): SAnime {
|
||||
val anime = SAnime.create()
|
||||
anime.title = document.selectFirst("h1.m-b-5").text()
|
||||
anime.thumbnail_url = document.selectFirst("div.card-body div.row div.col-sm-3 img.img-fluid")
|
||||
.attr("src").replace("/w154/", "/w500/")
|
||||
anime.description = document.selectFirst("div.col-sm-4 div.text-large").ownText()
|
||||
anime.genre = document.select("div.p-v-20.p-h-15.text-center a span").joinToString { it.text() }
|
||||
anime.status = SAnime.COMPLETED
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class DoodExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String): Video? {
|
||||
@ -25,7 +24,7 @@ class DoodExtractor(private val client: OkHttpClient) {
|
||||
).execute().body!!.string()
|
||||
val videoUrl = "$videoUrlStart$randomString?token=$token&expiry=$expiry"
|
||||
Video(url, quality, videoUrl, headers = doodHeaders(doodTld))
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import kotlinx.serialization.json.JsonObject
|
||||
import kotlinx.serialization.json.jsonObject
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
private val hexArray = "0123456789ABCDEF".toCharArray()
|
||||
@ -47,7 +46,7 @@ class StreamSBExtractor(private val client: OkHttpClient) {
|
||||
videoList.add(Video(videoUrl, quality, videoUrl, headers = headers))
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, quality: String = "StreamTape"): Video? {
|
||||
@ -17,7 +16,7 @@ class StreamTapeExtractor(private val client: OkHttpClient) {
|
||||
?: return null
|
||||
val videoUrl = "https://" + script.substringBefore("'+ ('xcd") + script.substringAfter("+ ('xcd").substringBefore("')")
|
||||
Video(videoUrl, quality, videoUrl, headers = null)
|
||||
} catch (i: IOException) {
|
||||
} catch (i: Exception) {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers): List<Video> {
|
||||
@ -22,7 +21,7 @@ class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'TioanimeH'
|
||||
pkgNameSuffix = 'es.tioanimeh'
|
||||
extClass = '.TioanimeHFactory'
|
||||
extVersionCode = 7
|
||||
extVersionCode = 8
|
||||
libVersion = '13'
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,6 @@ import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.IOException
|
||||
import java.lang.Exception
|
||||
|
||||
open class TioanimeH(override val name: String, override val baseUrl: String) : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
||||
@ -120,7 +119,7 @@ open class TioanimeH(override val name: String, override val baseUrl: String) :
|
||||
videoSorted[0] = videoSorted[preferredIdx]
|
||||
}
|
||||
videoSorted.toList()
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class OkruExtractor(private val client: OkHttpClient) {
|
||||
fun videosFromUrl(url: String, qualityPrefix: String = ""): List<Video> {
|
||||
@ -26,14 +25,14 @@ class OkruExtractor(private val client: OkHttpClient) {
|
||||
val videoUrl = it.substringAfter("url\\\":\\\"")
|
||||
.substringBefore("\\\"")
|
||||
.replace("\\\\u0026", "&")
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: IOException) { it.substringBefore("\\\"") }
|
||||
val quality = try { qualities.find { q -> q.first == it.substringBefore("\\\"") }?.second } catch (e: Exception) { it.substringBefore("\\\"") }
|
||||
val videoQuality = qualityPrefix + "Okru:" + quality
|
||||
if (videoUrl.startsWith("https://")) {
|
||||
videoList.add(Video(videoUrl, videoQuality, videoUrl, headers = null))
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.IOException
|
||||
|
||||
class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
fun videoFromUrl(url: String, headers: Headers): List<Video> {
|
||||
@ -22,7 +21,7 @@ class YourUploadExtractor(private val client: OkHttpClient) {
|
||||
}
|
||||
}
|
||||
videoList
|
||||
} catch (e: IOException) {
|
||||
} catch (e: Exception) {
|
||||
videoList
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user