diff --git a/src/en/mangakakalot/build.gradle b/src/en/mangakakalot/build.gradle index 107c34296..dc7810e02 100644 --- a/src/en/mangakakalot/build.gradle +++ b/src/en/mangakakalot/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: MangaKakalot' pkgNameSuffix = 'en.mangakakalot' extClass = '.Mangakakalot' - extVersionCode = 4 + extVersionCode = 5 libVersion = '1.2' } diff --git a/src/en/mangakakalot/src/eu/kanade/tachiyomi/extension/en/mangakakalot/Mangakakalot.kt b/src/en/mangakakalot/src/eu/kanade/tachiyomi/extension/en/mangakakalot/Mangakakalot.kt index 68ea04fd7..f43f3350d 100644 --- a/src/en/mangakakalot/src/eu/kanade/tachiyomi/extension/en/mangakakalot/Mangakakalot.kt +++ b/src/en/mangakakalot/src/eu/kanade/tachiyomi/extension/en/mangakakalot/Mangakakalot.kt @@ -10,6 +10,10 @@ import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element +import java.text.ParseException +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Locale class Mangakakalot : ParsedHttpSource() { @@ -38,7 +42,7 @@ class Mangakakalot : ParsedHttpSource() { override fun popularMangaFromElement(element: Element): SManga { val manga = SManga.create() element.select("h3 a").first().let { - manga.setUrlWithoutDomain(it.attr("href")) + manga.url = it.attr("href") manga.title = it.text() } manga.thumbnail_url = element.select("img").first().attr("src") @@ -64,6 +68,10 @@ class Mangakakalot : ParsedHttpSource() { override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() + override fun mangaDetailsRequest(manga: SManga): Request { + return GET(manga.url, headers) + } + override fun mangaDetailsParse(document: Document): SManga { val infoElement = document.select("div.manga-info-top").first() @@ -88,17 +96,57 @@ class Mangakakalot : ParsedHttpSource() { else -> SManga.UNKNOWN } + override fun chapterListRequest(manga: SManga): Request { + return GET(manga.url, headers) + } + override fun chapterListSelector() = "div.chapter-list div.row" override fun chapterFromElement(element: Element): SChapter { val urlElement = element.select("a").first() val chapter = SChapter.create() - chapter.setUrlWithoutDomain(urlElement.attr("href")) + chapter.url = urlElement.attr("href") chapter.name = urlElement.text() + chapter.date_upload = parseChapterDate(element.select("span").last().text()) return chapter } + private fun parseChapterDate(date: String): Long { + if ("ago" in date) { + val value = date.split(' ')[0].toInt() + + if ("min" in date) { + return Calendar.getInstance().apply { + add(Calendar.MINUTE, value * -1) + }.timeInMillis + } + + if ("hour" in date) { + return Calendar.getInstance().apply { + add(Calendar.HOUR_OF_DAY, value * -1) + }.timeInMillis + } + + if ("day" in date) { + return Calendar.getInstance().apply { + add(Calendar.DATE, value * -1) + }.timeInMillis + } + } + + try { + return SimpleDateFormat("MMM-dd-yy", Locale.ENGLISH).parse(date).time + } catch (e: ParseException) { + } + + return 0L + } + + override fun pageListRequest(chapter: SChapter): Request { + return GET(chapter.url, headers) + } + override fun pageListParse(document: Document): List { val pages = mutableListOf()