hanime: fix episode list and details requests
This commit is contained in:
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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> {
|
||||||
|
Reference in New Issue
Block a user