Merge pull request #1552 - palaks-1/source/fixes

[NHentai.xxx] Fixes
Draken 1 year ago committed by GitHub
commit 36eecf781f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -110,10 +110,23 @@ internal class NHentaiXxxParser(context: MangaLoaderContext) :
}
}
override suspend fun getPages(chapter: MangaChapter): List<MangaPage> {
val doc = webClient.httpGet(chapter.url.toAbsoluteUrl(domain)).parseHtml()
val totalPages = doc.selectFirstOrThrow(selectTotalPage).text().toInt()
val firstPageUrl = doc.requireElementById(idImg).requireSrc()
return (1..totalPages).map {
val url = replacePageNumber(firstPageUrl, it)
MangaPage(
id = generateUid(url),
url = url,
preview = null,
source = source,
)
}
}
override suspend fun getPageUrl(page: MangaPage): String {
val doc = webClient.httpGet(page.url.toAbsoluteUrl(domain)).parseHtml()
val root = doc.body()
return root.requireElementById(idImg).requireSrc()
return page.url
}
override fun Element.parseTags() = select("a").mapToSet {
@ -125,4 +138,15 @@ internal class NHentaiXxxParser(context: MangaLoaderContext) :
source = source,
)
}
private fun replacePageNumber(url: String, newPageNumber: Int): String {
val lastSegment = url.substringAfterLast("/")
val extension = lastSegment.substringAfterLast(".", "")
return if (extension.isNotEmpty()) {
url.substringBeforeLast("/") + "/$newPageNumber.$extension"
} else {
url.substringBeforeLast("/") + "/$newPageNumber"
}
}
}

Loading…
Cancel
Save