DoujinHentai: Fix HTTP 404 (#10836)

fix 404
This commit is contained in:
bapeey 2025-10-02 16:52:37 -05:00 committed by Draff
parent 6968ba5e19
commit e4cb04df6c
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 12 additions and 5 deletions

View File

@ -3,7 +3,7 @@ ext {
extClass = '.DoujinHentai' extClass = '.DoujinHentai'
themePkg = 'madara' themePkg = 'madara'
baseUrl = 'https://doujinhentai.net' baseUrl = 'https://doujinhentai.net'
overrideVersionCode = 1 overrideVersionCode = 2
isNsfw = true isNsfw = true
} }

View File

@ -7,6 +7,7 @@ import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request import okhttp3.Request
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
@ -20,20 +21,20 @@ class DoujinHentai : Madara(
override val fetchGenres = false override val fetchGenres = false
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/lista-manga-hentai?orderby=views&page=$page", headers) override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/list-manga-hentai?orderby=views&page=$page", headers)
override fun popularMangaSelector() = "div.col-md-3 a" override fun popularMangaSelector() = "div.col-md-3 a"
override fun popularMangaFromElement(element: Element): SManga { override fun popularMangaFromElement(element: Element): SManga {
val manga = SManga.create() val manga = SManga.create()
manga.setUrlWithoutDomain(element.attr("href")) manga.setUrlWithoutDomain(element.attr("href"))
manga.title = element.select("h5").text() manga.title = element.select("span.card-title").text().removePrefix("Leer").trim()
manga.thumbnail_url = element.select("img").attr("abs:data-src") manga.thumbnail_url = element.select("img").attr("abs:data-src")
return manga return manga
} }
override fun popularMangaNextPageSelector() = "a[rel=next]" override fun popularMangaNextPageSelector() = "a[rel=next]"
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/lista-manga-hentai?orderby=last&page=$page", headers) override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/list-manga-hentai?orderby=last&page=$page", headers)
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
val url = baseUrl.toHttpUrl().newBuilder() val url = baseUrl.toHttpUrl().newBuilder()
if (query.isNotBlank()) { if (query.isNotBlank()) {
@ -44,7 +45,7 @@ class DoujinHentai : Madara(
when (filter) { when (filter) {
is GenreSelectFilter -> { is GenreSelectFilter -> {
if (filter.state != 0) { if (filter.state != 0) {
url.addPathSegments("lista-manga-hentai/category/${filter.toUriPart()}") url.addPathSegments("list-manga-hentai/category/${filter.toUriPart()}")
url.addQueryParameter("page", page.toString()) url.addQueryParameter("page", page.toString())
} }
} }
@ -68,6 +69,12 @@ class DoujinHentai : Madara(
override fun chapterListSelector() = "ul.main.version-chap > li.wp-manga-chapter:not(:last-child)" // removing empty li override fun chapterListSelector() = "ul.main.version-chap > li.wp-manga-chapter:not(:last-child)" // removing empty li
override val pageListParseSelector = "div#all > img.img-responsive" override val pageListParseSelector = "div#all > img.img-responsive"
override fun mangaDetailsParse(document: Document): SManga {
return super.mangaDetailsParse(document).apply {
title = title.removePrefix("Doujin Hentai:").trim()
}
}
override fun getFilterList() = FilterList( override fun getFilterList() = FilterList(
Filter.Header("Solo funciona si la consulta está en blanco"), Filter.Header("Solo funciona si la consulta está en blanco"),
GenreSelectFilter(), GenreSelectFilter(),