parent
dbb7d18683
commit
3c473ea28d
@ -5,7 +5,7 @@ ext {
|
||||
extName = 'Komiku'
|
||||
pkgNameSuffix = 'id.komiku'
|
||||
extClass = '.Komiku'
|
||||
extVersionCode = 3
|
||||
extVersionCode = 4
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,9 @@ import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import okhttp3.OkHttpClient
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
|
||||
class Komiku : ParsedHttpSource() {
|
||||
override val name = "Komiku"
|
||||
@ -73,26 +75,28 @@ class Komiku : ParsedHttpSource() {
|
||||
else -> SManga.UNKNOWN
|
||||
}
|
||||
|
||||
override fun chapterListSelector() = "table.chapter tr:has(td.judulseries)"
|
||||
override fun chapterListSelector() = "table#Daftar_Chapter tr:has(td.judulseries)"
|
||||
|
||||
override fun chapterFromElement(element: Element) = SChapter.create().apply {
|
||||
setUrlWithoutDomain(element.select("a.popunder").attr("href"))
|
||||
name = element.select("a.popunder").attr("title")
|
||||
setUrlWithoutDomain(element.select("a").attr("href"))
|
||||
name = element.select("a").attr("title")
|
||||
|
||||
// Has datetime attribute, but all are set to start of current day for whatever reason, so parsing text instead
|
||||
date_upload = parseRelativeDate(element.select("time").text().trim()) ?: 0
|
||||
val timeStamp = element.select("td.tanggalseries")
|
||||
if (timeStamp.text().contains("lalu")) {
|
||||
date_upload = parseRelativeDate(timeStamp.text().trim()) ?: 0
|
||||
} else {
|
||||
date_upload = parseDate(timeStamp.last())
|
||||
}
|
||||
}
|
||||
|
||||
private fun parseDate(element: Element): Long = SimpleDateFormat("dd/MM/yyyy", Locale.US).parse(element.text())?.time ?: 0
|
||||
|
||||
// Used Google translate here
|
||||
private fun parseRelativeDate(date: String): Long? {
|
||||
val trimmedDate = date.substringBefore(" lalu").removeSuffix("s").split(" ")
|
||||
|
||||
val calendar = Calendar.getInstance()
|
||||
when (trimmedDate[1]) {
|
||||
"tahun" -> calendar.apply { add(Calendar.YEAR, -trimmedDate[0].toInt()) }
|
||||
"bulan" -> calendar.apply { add(Calendar.MONTH, -trimmedDate[0].toInt()) }
|
||||
"minggu" -> calendar.apply { add(Calendar.WEEK_OF_MONTH, -trimmedDate[0].toInt()) }
|
||||
"hari" -> calendar.apply { add(Calendar.DAY_OF_MONTH, -trimmedDate[0].toInt()) }
|
||||
"jam" -> calendar.apply { add(Calendar.HOUR_OF_DAY, -trimmedDate[0].toInt()) }
|
||||
"menit" -> calendar.apply { add(Calendar.MINUTE, -trimmedDate[0].toInt()) }
|
||||
"detik" -> calendar.apply { add(Calendar.SECOND, 0) }
|
||||
|
Loading…
x
Reference in New Issue
Block a user