HentaiNexus: Add SChapter::date_upload (#10743)

* HentaiNexus: Add SChapter::date_upload

 Add SChapter::date_upload

* Update build.gradle

* Update HentaiNexus.kt to address comments

* Update HentaiNexus.kt #2

Update to deal with Published row not available
This commit is contained in:
toomyzoom 2025-09-29 05:42:11 -07:00 committed by Draff
parent ac069dd2ec
commit 93ba18cd9c
Signed by: Draff
GPG Key ID: E8A89F3211677653
2 changed files with 21 additions and 10 deletions

View File

@ -1,7 +1,7 @@
ext { ext {
extName = "HentaiNexus" extName = "HentaiNexus"
extClass = ".HentaiNexus" extClass = ".HentaiNexus"
extVersionCode = 11 extVersionCode = 12
isNsfw = true isNsfw = true
} }

View File

@ -11,16 +11,21 @@ import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.model.UpdateStrategy
import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import eu.kanade.tachiyomi.util.asJsoup
import keiyoushi.utils.tryParse
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive import kotlinx.serialization.json.jsonPrimitive
import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request import okhttp3.Request
import okhttp3.Response
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import rx.Observable import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import java.text.SimpleDateFormat
import java.util.Locale
class HentaiNexus : ParsedHttpSource() { class HentaiNexus : ParsedHttpSource() {
@ -126,16 +131,22 @@ class HentaiNexus : ParsedHttpSource() {
thumbnail_url = document.selectFirst("figure.image img")?.attr("src") thumbnail_url = document.selectFirst("figure.image img")?.attr("src")
} }
override fun fetchChapterList(manga: SManga): Observable<List<SChapter>> { private val dateFormat by lazy {
val id = manga.url.split("/").last() SimpleDateFormat("dd MMMM yyyy", Locale.US)
}
return Observable.just( override fun chapterListParse(response: Response): List<SChapter> {
listOf( val document = response.asJsoup()
SChapter.create().apply { val table = document.selectFirst(".view-page-details")!!
url = "/read/$id" val date_upload_str = table.selectFirst("td.viewcolumn:contains(Published) + td")?.text()
name = "Chapter"
}, val id = response.request.url.toString().split("/").last()
), return listOf(
SChapter.create().apply {
url = "/read/$id"
name = "Chapter"
date_upload = dateFormat.tryParse(date_upload_str)
},
) )
} }