fix & add latest chapter timestamp (#5129)

* fix latest chapter timestamp

error when there is no chapter

* add latest chapter timestamp to manhuaID
This commit is contained in:
Riztard Lanthorn 2020-12-14 19:47:27 +07:00 committed by GitHub
parent 8ca71f5311
commit df408c356a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 27 additions and 5 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'WP MangaReader (multiple sources)' extName = 'WP MangaReader (multiple sources)'
pkgNameSuffix = 'all.wpmangareader' pkgNameSuffix = 'all.wpmangareader'
extClass = '.WPMangaReaderFactory' extClass = '.WPMangaReaderFactory'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -93,7 +93,8 @@ abstract class WPMangaReader(
// Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one // Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one
val date = document.select(".listinfo li:contains(update) time").attr("datetime") val date = document.select(".listinfo li:contains(update) time").attr("datetime")
if (date != "") chapters[0].date_upload = parseDate(date) val checkChapter = document.select(chapterListSelector()).firstOrNull()
if (date != "" && checkChapter != null) chapters[0].date_upload = parseDate(date)
return chapters return chapters
} }

View File

@ -5,7 +5,7 @@ ext {
extName = 'Comic Fx' extName = 'Comic Fx'
pkgNameSuffix = 'id.comicfx' pkgNameSuffix = 'id.comicfx'
extClass = '.ComicFx' extClass = '.ComicFx'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -104,7 +104,8 @@ class ComicFx : ParsedHttpSource() {
// Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one // Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one
val updateOn = document.select(".infokomik .infolengkap span:contains(update) b").text() val updateOn = document.select(".infokomik .infolengkap span:contains(update) b").text()
val date = document.select(".infokomik .infolengkap span:contains(update)").text().substringAfter(updateOn) val date = document.select(".infokomik .infolengkap span:contains(update)").text().substringAfter(updateOn)
if (date != "") chapters[0].date_upload = parseDate(date) val checkChapter = document.select(chapterListSelector()).firstOrNull()
if (date != "" && checkChapter != null) chapters[0].date_upload = parseDate(date)
return chapters return chapters
} }

View File

@ -5,7 +5,7 @@ ext {
extName = 'ManhuaID' extName = 'ManhuaID'
pkgNameSuffix = 'id.manhuaid' pkgNameSuffix = 'id.manhuaid'
extClass = '.ManhuaID' extClass = '.ManhuaID'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -6,9 +6,13 @@ import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter 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.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Response
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
import java.text.SimpleDateFormat
import java.util.Locale
class ManhuaID : ParsedHttpSource() { class ManhuaID : ParsedHttpSource() {
@ -71,6 +75,22 @@ class ManhuaID : ParsedHttpSource() {
override fun chapterListSelector() = "table.table tr td:first-of-type a" override fun chapterListSelector() = "table.table tr td:first-of-type a"
override fun chapterListParse(response: Response): List<SChapter> {
val document = response.asJsoup()
val chapters = document.select(chapterListSelector()).map { chapterFromElement(it) }
// Add timestamp to latest chapter, taken from "Updated On". so source which not provide chapter timestamp will have atleast one
val date = document.select("table tr:contains(update) td").text()
val checkChapter = document.select(chapterListSelector()).firstOrNull()
if (date != "" && checkChapter != null) chapters[0].date_upload = parseDate(date)
return chapters
}
private fun parseDate(date: String): Long {
return SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(date)?.time ?: 0L
}
override fun chapterListRequest(manga: SManga) = GET(baseUrl + manga.url, headers) override fun chapterListRequest(manga: SManga) = GET(baseUrl + manga.url, headers)
override fun chapterFromElement(element: Element) = SChapter.create().apply { override fun chapterFromElement(element: Element) = SChapter.create().apply {