diff --git a/src/all/webtoons/build.gradle b/src/all/webtoons/build.gradle index afb79b679..3665aa4db 100644 --- a/src/all/webtoons/build.gradle +++ b/src/all/webtoons/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Webtoons' pkgNameSuffix = 'all.webtoons' extClass = '.WebtoonsFactory' - extVersionCode = 24 + extVersionCode = 25 libVersion = '1.2' } diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt index 45d129ae7..6c8a8abf0 100644 --- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt +++ b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsFactory.kt @@ -77,4 +77,17 @@ class WebtoonsChineseTraditional : WebtoonsDefault("zh", "zh-hant", "zh_TW", Sim class WebtoonsFr : WebtoonsDefault("fr", dateFormat = SimpleDateFormat("d MMM yyyy", Locale.FRENCH)) -class WebtoonsEs : WebtoonsDefault("es", dateFormat = SimpleDateFormat("d-MMM-yyyy", Locale("es"))) +class WebtoonsEs : WebtoonsDefault("es") { + // Android seems to be unable to parse es dates like Indonesian; we'll use a short hard-coded table + // instead. + private val dateMap: Array = arrayOf( + "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" + ) + + override fun chapterParseDate(date: String): Long { + val expr = Regex("""(\d+)-([a-z]{3})-(\d{4})""").find(date) ?: return 0 + val (_, day, monthString, year) = expr.groupValues + val monthIndex = dateMap.indexOf(monthString) + return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time + } +}