Scantrad - date parsing fix (#1984)
This commit is contained in:
parent
9c74b76642
commit
e2eca020a9
|
@ -5,7 +5,7 @@ ext {
|
||||||
appName = 'Tachiyomi: Scantrad'
|
appName = 'Tachiyomi: Scantrad'
|
||||||
pkgNameSuffix = 'fr.scantrad'
|
pkgNameSuffix = 'fr.scantrad'
|
||||||
extClass = '.Scantrad'
|
extClass = '.Scantrad'
|
||||||
extVersionCode = 3
|
extVersionCode = 4
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,11 @@ import okhttp3.Request
|
||||||
import okhttp3.Response
|
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.util.*
|
import java.util.Calendar
|
||||||
|
import java.util.Locale
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
|
import java.lang.Exception
|
||||||
|
|
||||||
class Scantrad : ParsedHttpSource() {
|
class Scantrad : ParsedHttpSource() {
|
||||||
|
|
||||||
|
@ -132,41 +135,49 @@ class Scantrad : ParsedHttpSource() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parseChapterDate(date: String): Long {
|
private fun parseChapterDate(date: String): Long {
|
||||||
val value = date.split(" ")[3].toInt()
|
val value = date.split(" ")[3].toIntOrNull()
|
||||||
|
|
||||||
return when (date.split(" ")[4]) {
|
return if (value != null) {
|
||||||
"minute", "minutes" -> Calendar.getInstance().apply {
|
when (date.split(" ")[4]) {
|
||||||
add(Calendar.MINUTE, value * -1)
|
"minute", "minutes" -> Calendar.getInstance().apply {
|
||||||
set(Calendar.SECOND, 0)
|
add(Calendar.MINUTE, value * -1)
|
||||||
set(Calendar.MILLISECOND, 0)
|
set(Calendar.SECOND, 0)
|
||||||
}.timeInMillis
|
set(Calendar.MILLISECOND, 0)
|
||||||
"heure", "heures" -> Calendar.getInstance().apply {
|
}.timeInMillis
|
||||||
add(Calendar.HOUR_OF_DAY, value * -1)
|
"heure", "heures" -> Calendar.getInstance().apply {
|
||||||
set(Calendar.SECOND, 0)
|
add(Calendar.HOUR_OF_DAY, value * -1)
|
||||||
set(Calendar.MILLISECOND, 0)
|
set(Calendar.SECOND, 0)
|
||||||
}.timeInMillis
|
set(Calendar.MILLISECOND, 0)
|
||||||
"jour", "jours" -> Calendar.getInstance().apply {
|
}.timeInMillis
|
||||||
add(Calendar.DATE, value * -1)
|
"jour", "jours" -> Calendar.getInstance().apply {
|
||||||
set(Calendar.SECOND, 0)
|
add(Calendar.DATE, value * -1)
|
||||||
set(Calendar.MILLISECOND, 0)
|
set(Calendar.SECOND, 0)
|
||||||
}.timeInMillis
|
set(Calendar.MILLISECOND, 0)
|
||||||
"semaine", "semaines" -> Calendar.getInstance().apply {
|
}.timeInMillis
|
||||||
add(Calendar.DATE, value * 7 * -1)
|
"semaine", "semaines" -> Calendar.getInstance().apply {
|
||||||
set(Calendar.SECOND, 0)
|
add(Calendar.DATE, value * 7 * -1)
|
||||||
set(Calendar.MILLISECOND, 0)
|
set(Calendar.SECOND, 0)
|
||||||
}.timeInMillis
|
set(Calendar.MILLISECOND, 0)
|
||||||
"mois" -> Calendar.getInstance().apply {
|
}.timeInMillis
|
||||||
add(Calendar.MONTH, value * -1)
|
"mois" -> Calendar.getInstance().apply {
|
||||||
set(Calendar.SECOND, 0)
|
add(Calendar.MONTH, value * -1)
|
||||||
set(Calendar.MILLISECOND, 0)
|
set(Calendar.SECOND, 0)
|
||||||
}.timeInMillis
|
set(Calendar.MILLISECOND, 0)
|
||||||
"an", "ans" -> Calendar.getInstance().apply {
|
}.timeInMillis
|
||||||
add(Calendar.YEAR, value * -1)
|
"an", "ans", "année" -> Calendar.getInstance().apply {
|
||||||
set(Calendar.SECOND, 0)
|
add(Calendar.YEAR, value * -1)
|
||||||
set(Calendar.MILLISECOND, 0)
|
set(Calendar.SECOND, 0)
|
||||||
}.timeInMillis
|
set(Calendar.MILLISECOND, 0)
|
||||||
else -> {
|
}.timeInMillis
|
||||||
return 0
|
else -> {
|
||||||
|
return 0L
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
SimpleDateFormat("dd MMM yyyy", Locale.FRENCH).parse(date.substringAfter("le ")).time
|
||||||
|
} catch (_: Exception) {
|
||||||
|
0L
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue