Mangakatana: fix search when found only one manga (#5820)

This commit is contained in:
scb261 2021-02-13 04:01:22 +02:00 committed by GitHub
parent e4aac462c8
commit 6e10aaf821
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 2 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'MangaKatana' extName = 'MangaKatana'
pkgNameSuffix = 'en.mangakatana' pkgNameSuffix = 'en.mangakatana'
extClass = '.MangaKatana' extClass = '.MangaKatana'
extVersionCode = 3 extVersionCode = 4
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -2,12 +2,15 @@ package eu.kanade.tachiyomi.extension.en.mangakatana
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.FilterList 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.Page
import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.MediaType import okhttp3.MediaType
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Response
import okhttp3.ResponseBody import okhttp3.ResponseBody
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
@ -65,14 +68,30 @@ class MangaKatana : ParsedHttpSource() {
override fun searchMangaNextPageSelector() = latestUpdatesNextPageSelector() 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 { override fun mangaDetailsParse(document: Document) = SManga.create().apply {
author = document.select(".author").text() author = document.select(".author").text()
description = document.select(".summary > p").text() description = document.select(".summary > p").text()
status = parseStatus(document.select(".value.status").text()) status = parseStatus(document.select(".value.status").text())
genre = document.select(".genres > a").joinToString { it.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 { private fun parseStatus(status: String) = when {
status.contains("Ongoing") -> SManga.ONGOING status.contains("Ongoing") -> SManga.ONGOING
status.contains("Completed") -> SManga.COMPLETED status.contains("Completed") -> SManga.COMPLETED