diff --git a/src/en/mangakatana/build.gradle b/src/en/mangakatana/build.gradle index 3949e062e..1bb1f3d87 100644 --- a/src/en/mangakatana/build.gradle +++ b/src/en/mangakatana/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'MangaKatana' pkgNameSuffix = 'en.mangakatana' extClass = '.MangaKatana' - extVersionCode = 3 + extVersionCode = 4 libVersion = '1.2' } diff --git a/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt b/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt index 0ebc79979..32e30815e 100644 --- a/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt +++ b/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt @@ -2,12 +2,15 @@ package eu.kanade.tachiyomi.extension.en.mangakatana import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import eu.kanade.tachiyomi.util.asJsoup import okhttp3.MediaType import okhttp3.OkHttpClient +import okhttp3.Response import okhttp3.ResponseBody import org.jsoup.nodes.Document import org.jsoup.nodes.Element @@ -65,14 +68,30 @@ class MangaKatana : ParsedHttpSource() { override fun searchMangaNextPageSelector() = latestUpdatesNextPageSelector() + override fun searchMangaParse(response: Response): MangasPage { + return if (response.request().url().toString().contains("/manga/")) { + val document = response.asJsoup() + val manga = SManga.create().apply { + thumbnail_url = parseThumbnail(document) + title = document.select("h1.heading").first().text() + } + manga.setUrlWithoutDomain(response.request().url().toString()) + MangasPage(listOf(manga), false) + } else { + super.searchMangaParse(response) + } + } + override fun mangaDetailsParse(document: Document) = SManga.create().apply { author = document.select(".author").text() description = document.select(".summary > p").text() status = parseStatus(document.select(".value.status").text()) genre = document.select(".genres > a").joinToString { it.text() } - thumbnail_url = document.select("div.media div.cover img").attr("abs:src") + thumbnail_url = parseThumbnail(document) } + private fun parseThumbnail(document: Document) = document.select("div.media div.cover img").attr("abs:src") + private fun parseStatus(status: String) = when { status.contains("Ongoing") -> SManga.ONGOING status.contains("Completed") -> SManga.COMPLETED