gogo: fix errors when doodstream mirror isn't available

This commit is contained in:
jmir1
2021-10-03 12:35:42 +02:00
parent e6e1db2184
commit 1b094dfd90
2 changed files with 4 additions and 2 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'Gogoanime'
pkgNameSuffix = 'en.gogoanime'
extClass = '.GogoAnime'
extVersionCode = 19
extVersionCode = 20
libVersion = '12'
}

View File

@ -94,6 +94,7 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override fun videoListParse(response: Response): List<Video> {
val document = response.asJsoup()
return document.select(videoListSelector()).ordered().map { videoFromElement(it) }
.filter { it.videoUrl != null }
}
private fun Elements.ordered(): Elements {
@ -149,9 +150,10 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
return videoUrl ?: url
}
private fun doodUrlParse(url: String): String {
private fun doodUrlParse(url: String): String? {
val response = client.newCall(GET(url.replace("/d/", "/e/"))).execute()
val content = response.body!!.string()
if (!content.contains("'/pass_md5/")) return null
val md5 = content.substringAfter("'/pass_md5/").substringBefore("',")
val token = md5.substringAfterLast("/")
val randomString = getRandomString()