hanime: fix episode list and details requests

This commit is contained in:
jmir1
2021-11-25 01:51:29 +01:00
parent 823f060d06
commit d35815988b
2 changed files with 15 additions and 24 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'hanime.tv' extName = 'hanime.tv'
pkgNameSuffix = 'en.hanime' pkgNameSuffix = 'en.hanime'
extClass = '.Hanime' extClass = '.Hanime'
extVersionCode = 12 extVersionCode = 13
libVersion = '12' libVersion = '12'
containsNsfw = true containsNsfw = true
} }

View File

@ -18,6 +18,7 @@ import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.POST import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.Headers import okhttp3.Headers
import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request import okhttp3.Request
@ -100,29 +101,19 @@ class Hanime : ConfigurableAnimeSource, AnimeHttpSource() {
return parseSearchJson(responseString) return parseSearchJson(responseString)
} }
override fun animeDetailsRequest(anime: SAnime): Request {
return POST("https://search.htv-services.com/", popularRequestHeaders, searchRequestBody(anime.title, 1, AnimeFilterList()))
}
override fun animeDetailsParse(response: Response): SAnime { override fun animeDetailsParse(response: Response): SAnime {
val responseString = response.body!!.string() val document = response.asJsoup()
val jElement: JsonElement = JsonParser.parseString(responseString) return SAnime.create().apply {
val jObject: JsonObject = jElement.asJsonObject title = document.select("h1.tv-title").text()
val arrayString = jObject.get("hits").asString thumbnail_url = document.select("img.hvpi-cover").attr("src")
val array = JsonParser.parseString(arrayString) setUrlWithoutDomain(document.location())
val jObjectb: JsonArray = array.asJsonArray author = document.select("a.hvpimbc-text").text()
val item = jObjectb[0] description = document.select("div.hvpist-description p")
val anime = SAnime.create() .joinToString("\n\n") { it.text() }
anime.title = item.asJsonObject.get("name").asString status = SAnime.COMPLETED
anime.thumbnail_url = item.asJsonObject.get("cover_url").asString genre = document.select("div.hvpis-text div.btn__content").joinToString { it.text() }
anime.setUrlWithoutDomain("https://hanime.tv/videos/hentai/" + item.asJsonObject.get("slug").asString) initialized = true
anime.author = item.asJsonObject.get("brand").asString }
anime.description = item.asJsonObject.get("description").asString.replace("<p>", "").replace("</p>", "")
anime.status = SAnime.COMPLETED
val tags = item.asJsonObject.get("tags").asJsonArray
anime.genre = tags.joinToString(", ") { it.asString }
anime.initialized = true
return anime
} }
override fun videoListRequest(episode: SEpisode): Request { override fun videoListRequest(episode: SEpisode): Request {
@ -164,7 +155,7 @@ class Hanime : ConfigurableAnimeSource, AnimeHttpSource() {
override fun episodeListRequest(anime: SAnime): Request { override fun episodeListRequest(anime: SAnime): Request {
val slug = anime.url.substringAfterLast("/") val slug = anime.url.substringAfterLast("/")
return GET("https://hw.hanime.tv/api/v8/video?id=$slug") return GET("$baseUrl/api/v8/video?id=$slug")
} }
override fun episodeListParse(response: Response): List<SEpisode> { override fun episodeListParse(response: Response): List<SEpisode> {