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'
|
appName = 'Tachiyomi: Webtoons'
|
||||||
pkgNameSuffix = 'all.webtoons'
|
pkgNameSuffix = 'all.webtoons'
|
||||||
extClass = '.WebtoonsFactory'
|
extClass = '.WebtoonsFactory'
|
||||||
extVersionCode = 9
|
extVersionCode = 10
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,19 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.webtoons
|
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.Source
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
import eu.kanade.tachiyomi.source.SourceFactory
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
|
import java.util.GregorianCalendar
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
class WebtoonsFactory : SourceFactory {
|
class WebtoonsFactory : SourceFactory {
|
||||||
override fun createSources(): List<Source> = getAllWebtoons()
|
override fun createSources(): List<Source> = listOf(
|
||||||
}
|
|
||||||
|
|
||||||
fun getAllWebtoons(): List<Source> {
|
|
||||||
return listOf(
|
|
||||||
WebtoonsEnglish(),
|
WebtoonsEnglish(),
|
||||||
WebtoonsChineseTraditional(),
|
WebtoonsChineseTraditional(),
|
||||||
WebtoonsIndonesian(),
|
WebtoonsIndonesian(),
|
||||||
WebtoonsThai(),
|
WebtoonsThai(),
|
||||||
|
|
||||||
// fan translations
|
// Fan translations
|
||||||
WebtoonsTranslate("en", "ENG"),
|
WebtoonsTranslate("en", "ENG"),
|
||||||
WebtoonsTranslate("zh", "CMN", " (Simplified)"),
|
WebtoonsTranslate("zh", "CMN", " (Simplified)"),
|
||||||
WebtoonsTranslate("zh", "CHT", " (Traditional)"),
|
WebtoonsTranslate("zh", "CHT", " (Traditional)"),
|
||||||
|
@ -52,3 +47,33 @@ fun getAllWebtoons(): List<Source> {
|
||||||
WebtoonsTranslate("uk", "UKR")
|
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