tenshi: fix download links

This commit is contained in:
jmir1
2021-06-18 22:11:45 +02:00
parent 331a632a4d
commit 84a9494bac
2 changed files with 27 additions and 1 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'tenshi.moe'
pkgNameSuffix = 'en.tenshimoe'
extClass = '.TenshiMoe'
extVersionCode = 14
extVersionCode = 15
libVersion = '11'
}
dependencies {

View File

@ -1,15 +1,23 @@
package eu.kanade.tachiyomi.animeextension.en.tenshimoe
import android.annotation.SuppressLint
import android.util.Log
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
import eu.kanade.tachiyomi.animesource.model.Link
import eu.kanade.tachiyomi.animesource.model.SAnime
import eu.kanade.tachiyomi.animesource.model.SEpisode
import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.asObservableSuccess
import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.coroutines.runBlocking
import okhttp3.Headers
import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import rx.Observable
import java.lang.Float.parseFloat
import java.text.SimpleDateFormat
import java.util.Date
@ -77,6 +85,24 @@ class TenshiMoe : ParsedAnimeHttpSource() {
return Date(-1L)
}
override fun fetchEpisodeLink(episode: SEpisode): Observable<List<Link>> {
return client.newCall(GET(baseUrl + episode.url))
.asObservableSuccess()
.map { response ->
Log.w("tenshi", "linkReq")
runBlocking { linkRequest(response) }
}
}
private suspend fun linkRequest(response: Response): List<Link> {
val elements = response.asJsoup()
val link = elements.select("iframe").attr("src")
val dlResponse = client.newCall(GET(link, Headers.headersOf("referer", response.request.url.toString())))
.await()
val document = dlResponse.asJsoup()
return linksFromElement(document.select(episodeLinkSelector()).first())
}
override fun episodeLinkSelector() = "video#player"
override fun linksFromElement(element: Element): List<Link> {