From b49b58613fa878306a0c76453580187c2db15ef9 Mon Sep 17 00:00:00 2001 From: FourTOne5 <59261191+FourTOne5@users.noreply.github.com> Date: Mon, 14 Jun 2021 19:44:38 +0600 Subject: [PATCH] 9Hentai Fix Upload Date + Update Url (#7648) * Update build.gradle * Update NineHentai.kt * Update NineHentai.kt --- src/all/ninehentai/build.gradle | 2 +- .../extension/all/ninehentai/NineHentai.kt | 57 ++++++++++++++----- 2 files changed, 45 insertions(+), 14 deletions(-) diff --git a/src/all/ninehentai/build.gradle b/src/all/ninehentai/build.gradle index 40b0863c4..6256de413 100644 --- a/src/all/ninehentai/build.gradle +++ b/src/all/ninehentai/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'NineHentai' pkgNameSuffix = 'all.ninehentai' extClass = '.NineHentai' - extVersionCode = 10 + extVersionCode = 11 libVersion = '1.2' containsNsfw = true } diff --git a/src/all/ninehentai/src/eu/kanade/tachiyomi/extension/all/ninehentai/NineHentai.kt b/src/all/ninehentai/src/eu/kanade/tachiyomi/extension/all/ninehentai/NineHentai.kt index 2b2f6ee2f..7a6a88652 100644 --- a/src/all/ninehentai/src/eu/kanade/tachiyomi/extension/all/ninehentai/NineHentai.kt +++ b/src/all/ninehentai/src/eu/kanade/tachiyomi/extension/all/ninehentai/NineHentai.kt @@ -25,12 +25,12 @@ import okhttp3.Request import okhttp3.RequestBody import okhttp3.Response import rx.Observable -import java.util.Date +import java.util.Calendar @Nsfw class NineHentai : HttpSource() { - override val baseUrl = "https://www1.9hentai.ru" + override val baseUrl = "https://9hentai.to" override val name = "NineHentai" @@ -97,16 +97,49 @@ class NineHentai : HttpSource() { } return mutableList } + + override fun chapterListParse(response: Response): List { + val document = response.asJsoup() + val time = document.select("div#info div time").text() + return listOf( + SChapter.create().apply { + name = "Chapter" + date_upload = parseChapterDate(time) + setUrlWithoutDomain(response.request.url.encodedPath) + } + ) + } + + private fun parseChapterDate(date: String): Long { + val value = date.split(' ')[0].toInt() + val timeStr = date.split(' ')[1].removeSuffix("s") - override fun fetchChapterList(manga: SManga): Observable> { - val chapter = SChapter.create() - val chapterId = manga.url.substringAfter("/g/").toInt() - chapter.url = "/g/$chapterId" - chapter.name = "chapter" - // api doesnt return date so setting to current date for now - chapter.date_upload = Date().time - - return Observable.just(listOf(chapter)) + return when (timeStr) { + "sec" -> Calendar.getInstance().apply { + add(Calendar.SECOND, value * -1) + }.timeInMillis + "min" -> Calendar.getInstance().apply { + add(Calendar.MINUTE, value * -1) + }.timeInMillis + "hour" -> Calendar.getInstance().apply { + add(Calendar.HOUR_OF_DAY, value * -1) + }.timeInMillis + "day" -> Calendar.getInstance().apply { + add(Calendar.DATE, value * -1) + }.timeInMillis + "week" -> Calendar.getInstance().apply { + add(Calendar.DATE, value * 7 * -1) + }.timeInMillis + "month" -> Calendar.getInstance().apply { + add(Calendar.MONTH, value * -1) + }.timeInMillis + "year" -> Calendar.getInstance().apply { + add(Calendar.YEAR, value * -1) + }.timeInMillis + else -> { + return 0 + } + } } override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { @@ -211,8 +244,6 @@ class NineHentai : HttpSource() { override fun searchMangaParse(response: Response): MangasPage = throw Exception("Not Used") - override fun chapterListParse(response: Response): List = throw Exception("Not Used") - companion object { private val MEDIA_TYPE = "application/json; charset=utf-8".toMediaTypeOrNull() private const val SEARCH_URL = "/api/getBook"