MangaFast: ignore unparseable dates (#4371)
* MangaFast: ignore unparseable dates MangaFast introduced the concept of teaser chapters and just placeholders for upcoming chapters. These do not have a proper date and previously led to a ParseException. * MangaFast: use more precise chapterListSelector * MangaFast: bump version
This commit is contained in:
parent
3037ad7daf
commit
68d53b0225
|
@ -5,7 +5,7 @@ ext {
|
||||||
extName = 'MangaFast'
|
extName = 'MangaFast'
|
||||||
pkgNameSuffix = 'en.mangafast'
|
pkgNameSuffix = 'en.mangafast'
|
||||||
extClass = '.MangaFast'
|
extClass = '.MangaFast'
|
||||||
extVersionCode = 2
|
extVersionCode = 3
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
import org.jsoup.nodes.Element
|
import org.jsoup.nodes.Element
|
||||||
|
import java.text.ParseException
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
|
@ -65,12 +66,20 @@ class MangaFast : ParsedHttpSource() {
|
||||||
else -> SManga.UNKNOWN
|
else -> SManga.UNKNOWN
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun chapterListSelector() = "tr:has(td.tgs)"
|
override fun chapterListSelector() = "tr:has(td.tgs:matches(\\d{4}-\\d{2}-\\d{2}))"
|
||||||
|
|
||||||
override fun chapterFromElement(element: Element) = SChapter.create().apply {
|
override fun chapterFromElement(element: Element) = SChapter.create().apply {
|
||||||
setUrlWithoutDomain(element.select("a").attr("href"))
|
setUrlWithoutDomain(element.select("a").attr("href"))
|
||||||
name = element.select("a").attr("title")
|
name = element.select("a").attr("title")
|
||||||
date_upload = dateFormat.parse(element.select("td.tgs").text().trim())?.time ?: 0
|
date_upload = parseDate(element.select("td.tgs").text())
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun parseDate(text: String): Long {
|
||||||
|
return try {
|
||||||
|
dateFormat.parse(text.trim())?.time ?: 0L
|
||||||
|
} catch (pe: ParseException) { // this can happen for spoiler & release date entries
|
||||||
|
0L
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
Loading…
Reference in New Issue