diff --git a/src/en/kickassanime/build.gradle b/src/en/kickassanime/build.gradle index f63a6bdc4..4456fdac5 100644 --- a/src/en/kickassanime/build.gradle +++ b/src/en/kickassanime/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'KickAssAnime' pkgNameSuffix = 'en.kickassanime' extClass = '.KickAssAnime' - extVersionCode = 4 + extVersionCode = 5 libVersion = '13' } diff --git a/src/en/kickassanime/src/eu/kanade/tachiyomi/animeextension/en/kickassanime/KickAssAnime.kt b/src/en/kickassanime/src/eu/kanade/tachiyomi/animeextension/en/kickassanime/KickAssAnime.kt index bed085c2b..8506f02cc 100644 --- a/src/en/kickassanime/src/eu/kanade/tachiyomi/animeextension/en/kickassanime/KickAssAnime.kt +++ b/src/en/kickassanime/src/eu/kanade/tachiyomi/animeextension/en/kickassanime/KickAssAnime.kt @@ -35,6 +35,8 @@ import org.jsoup.nodes.Document import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy +import java.text.SimpleDateFormat +import java.util.Locale import java.util.regex.Pattern @ExperimentalSerializationApi @@ -56,6 +58,12 @@ class KickAssAnime : ConfigurableAnimeSource, AnimeHttpSource() { Injekt.get().getSharedPreferences("source_$id", 0x0000) } + companion object { + private val DateFormatter by lazy { + SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH) + } + } + override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/api/get_anime_list/all/$page") override fun popularAnimeParse(response: Response): AnimesPage { @@ -80,10 +88,16 @@ class KickAssAnime : ConfigurableAnimeSource, AnimeHttpSource() { url = item.jsonObject["slug"]!!.jsonPrimitive.content episode_number = item.jsonObject["num"]!!.jsonPrimitive.float name = item.jsonObject["epnum"]!!.jsonPrimitive.content + date_upload = parseDate(item.jsonObject["createddate"]!!.jsonPrimitive.content) } } } + private fun parseDate(dateStr: String): Long { + return runCatching { DateFormatter.parse(dateStr)?.time } + .getOrNull() ?: 0L + } + override fun latestUpdatesParse(response: Response) = throw Exception("not used") override fun latestUpdatesRequest(page: Int) = throw Exception("not used") @@ -94,33 +108,48 @@ class KickAssAnime : ConfigurableAnimeSource, AnimeHttpSource() { val link1 = episode["link1"]!!.jsonPrimitive.content val videoList = mutableListOf