Fix Webtoons Indonesian showing up under English (#1611)
This commit is contained in:
parent
348bfea804
commit
98d477b28c
|
@ -5,7 +5,7 @@ ext {
|
|||
appName = 'Tachiyomi: Webtoons'
|
||||
pkgNameSuffix = 'all.webtoons'
|
||||
extClass = '.WebtoonsFactory'
|
||||
extVersionCode = 9
|
||||
extVersionCode = 10
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
|
|
@ -1,24 +1,19 @@
|
|||
package eu.kanade.tachiyomi.extension.all.webtoons
|
||||
|
||||
import eu.kanade.tachiyomi.extension.en.webtoons.WebtoonsEnglish
|
||||
import eu.kanade.tachiyomi.extension.id.webtoons.WebtoonsIndonesian
|
||||
import eu.kanade.tachiyomi.extension.th.webtoons.WebtoonsThai
|
||||
import eu.kanade.tachiyomi.extension.zh.webtoons.WebtoonsChineseTraditional
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.SourceFactory
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.GregorianCalendar
|
||||
import java.util.Locale
|
||||
|
||||
class WebtoonsFactory : SourceFactory {
|
||||
override fun createSources(): List<Source> = getAllWebtoons()
|
||||
}
|
||||
|
||||
fun getAllWebtoons(): List<Source> {
|
||||
return listOf(
|
||||
override fun createSources(): List<Source> = listOf(
|
||||
WebtoonsEnglish(),
|
||||
WebtoonsChineseTraditional(),
|
||||
WebtoonsIndonesian(),
|
||||
WebtoonsThai(),
|
||||
|
||||
// fan translations
|
||||
// Fan translations
|
||||
WebtoonsTranslate("en", "ENG"),
|
||||
WebtoonsTranslate("zh", "CMN", " (Simplified)"),
|
||||
WebtoonsTranslate("zh", "CHT", " (Traditional)"),
|
||||
|
@ -52,3 +47,33 @@ fun getAllWebtoons(): List<Source> {
|
|||
WebtoonsTranslate("uk", "UKR")
|
||||
)
|
||||
}
|
||||
|
||||
class WebtoonsEnglish : WebtoonsDefault("en")
|
||||
|
||||
class WebtoonsIndonesian: WebtoonsDefault("in", "id") {
|
||||
override val name: String = "Webtoons.com (Indonesian)"
|
||||
|
||||
// Android seems to be unable to parse Indonesian dates; we'll use a short hard-coded table
|
||||
// instead.
|
||||
private val DATE_MAP: Array<String> = arrayOf(
|
||||
"Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")
|
||||
|
||||
override fun chapterParseDate(date: String): Long {
|
||||
val expr = Regex("""(\d{4}) ([A-Z][a-z]{2}) (\d{1,})""").find(date) ?: return 0
|
||||
val (_, year, monthString, day) = expr.groupValues
|
||||
val monthIndex = DATE_MAP.indexOf(monthString)
|
||||
return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time
|
||||
}
|
||||
}
|
||||
|
||||
class WebtoonsThai: WebtoonsDefault("th") {
|
||||
override fun chapterParseDate(date: String): Long {
|
||||
return SimpleDateFormat("d MMM yyyy", Locale("th")).parse(date).time
|
||||
}
|
||||
}
|
||||
|
||||
class WebtoonsChineseTraditional: WebtoonsDefault("zh", "zh-hant") {
|
||||
override fun chapterParseDate(date: String): Long {
|
||||
return SimpleDateFormat("yyyy/MM/dd", Locale.TRADITIONAL_CHINESE).parse(date).time
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.en.webtoons
|
||||
|
||||
import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
|
||||
|
||||
class WebtoonsEnglish : WebtoonsDefault("en")
|
|
@ -1,20 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.id.webtoons
|
||||
|
||||
import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
|
||||
import java.util.*
|
||||
|
||||
class WebtoonsIndonesian: WebtoonsDefault("en", "id") {
|
||||
override val name: String = "Webtoons.com (Indonesian)"
|
||||
|
||||
// Android seems to be unable to parse Indonesian dates; we'll use a short hard-coded table
|
||||
// instead.
|
||||
private val DATE_MAP: Array<String> = arrayOf(
|
||||
"Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des")
|
||||
|
||||
override fun chapterParseDate(date: String): Long {
|
||||
val expr = Regex("""(\d{4}) ([A-Z][a-z]{2}) (\d{1,})""").find(date) ?: return 0
|
||||
val (_, year, monthString, day) = expr.groupValues
|
||||
val monthIndex = DATE_MAP.indexOf(monthString)
|
||||
return GregorianCalendar(year.toInt(), monthIndex, day.toInt()).time.time
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.th.webtoons
|
||||
|
||||
import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
class WebtoonsThai: WebtoonsDefault("th") {
|
||||
override fun chapterParseDate(date: String): Long {
|
||||
return SimpleDateFormat("d MMM yyyy", Locale("th")).parse(date).time
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.zh.webtoons
|
||||
|
||||
import eu.kanade.tachiyomi.extension.all.webtoons.WebtoonsDefault
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
class WebtoonsChineseTraditional: WebtoonsDefault("zh", "zh-hant") {
|
||||
override fun chapterParseDate(date: String): Long {
|
||||
return SimpleDateFormat("yyyy/MM/dd", Locale.TRADITIONAL_CHINESE).parse(date).time
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue