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'
pkgNameSuffix = 'en.hanime'
extClass = '.Hanime'
extVersionCode = 12
extVersionCode = 13
libVersion = '12'
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.network.GET
import eu.kanade.tachiyomi.network.POST
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.Headers
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Request
@ -100,29 +101,19 @@ class Hanime : ConfigurableAnimeSource, AnimeHttpSource() {
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 {
val responseString = response.body!!.string()
val jElement: JsonElement = JsonParser.parseString(responseString)
val jObject: JsonObject = jElement.asJsonObject
val arrayString = jObject.get("hits").asString
val array = JsonParser.parseString(arrayString)
val jObjectb: JsonArray = array.asJsonArray
val item = jObjectb[0]
val anime = SAnime.create()
anime.title = item.asJsonObject.get("name").asString
anime.thumbnail_url = item.asJsonObject.get("cover_url").asString
anime.setUrlWithoutDomain("https://hanime.tv/videos/hentai/" + item.asJsonObject.get("slug").asString)
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
val document = response.asJsoup()
return SAnime.create().apply {
title = document.select("h1.tv-title").text()
thumbnail_url = document.select("img.hvpi-cover").attr("src")
setUrlWithoutDomain(document.location())
author = document.select("a.hvpimbc-text").text()
description = document.select("div.hvpist-description p")
.joinToString("\n\n") { it.text() }
status = SAnime.COMPLETED
genre = document.select("div.hvpis-text div.btn__content").joinToString { it.text() }
initialized = true
}
}
override fun videoListRequest(episode: SEpisode): Request {
@ -164,7 +155,7 @@ class Hanime : ConfigurableAnimeSource, AnimeHttpSource() {
override fun episodeListRequest(anime: SAnime): Request {
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> {