MangaCataloug Added Search function (#6834)

* Update MangaCatalog.kt

* Update MangaCatalogGenerator.kt

* Updated overrides
This commit is contained in:
Johannes Joens 2021-05-06 00:16:06 +12:00 committed by GitHub
parent ebeb40b522
commit 28e1753d75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 4 deletions

View File

@ -11,6 +11,5 @@ class ReadNarutoBorutoSamurai8MangaOnline : MangaCatalog("Read Naruto/Boruto/Sam
Pair("Colored", "$baseUrl/manga/naruto-digital-colored-comics/"),
Pair("Naruto Gaiden", "$baseUrl/manga/naruto-gaiden-the-seventh-hokage/"),
Pair("Samurai 8", "$baseUrl/manga/samurai-8-hachimaru-den/"),
Pair("", "$baseUrl/manga//"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@ -3,6 +3,16 @@ package eu.kanade.tachiyomi.extension.en.readnoblessemanhwaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.MangasPage
import eu.kanade.tachiyomi.util.asJsoup
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import okhttp3.Request
import rx.Observable
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ReadNoblesseManhwaOnline : MangaCatalog("Read Noblesse Manhwa Online", "https://ww2.readnoblesse.com", "en") {
override val sourceList = listOf(
@ -11,4 +21,23 @@ class ReadNoblesseManhwaOnline : MangaCatalog("Read Noblesse Manhwa Online", "ht
Pair("NOBLESSE S", "$baseUrl/manga/noblesse-s/"),
Pair("Ability", "$baseUrl/manga/ability/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
description = document.select("div.flex > div.py-2 > div:not(:first-child)").text()
title = document.select(".container h1").text()
thumbnail_url = document.select("img.rounded-full").attr("src")
}
override fun chapterListSelector(): String = "div.w-full > div > div.flex"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
val name1 = element.select(".flex-col > a:not(.text-xs)").text()
val name2 = element.select(".text-xs:not(a)").text()
if (name2 == ""){
name = name1
} else {
name = "$name1 - $name2"
}
url = element.select(".flex-col > a:not(.text-xs)").attr("abs:href")
date_upload = System.currentTimeMillis()
}
}

View File

@ -30,7 +30,6 @@ abstract class MangaCatalog(
override val supportsLatest: Boolean = false
// Popular
override fun fetchPopularManga(page: Int): Observable<MangasPage> {
return Observable.just(MangasPage(sourceList.map { popularMangaFromPair(it.first, it.second) }, false))
}
@ -51,7 +50,17 @@ abstract class MangaCatalog(
// Search
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = throw Exception("No Search Function")
override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> {
val mangas = mutableListOf<SManga>()
sourceList.map {
if (it.first.contains(query)) {
mangas.add(popularMangaFromPair(it.first, it.second))
}
}
return Observable.just(MangasPage(mangas, false))
}
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = throw Exception("Not used")
override fun searchMangaNextPageSelector() = throw Exception("Not used")
override fun searchMangaSelector() = throw Exception("Not used")
override fun searchMangaFromElement(element: Element) = throw Exception("Not used")

View File

@ -9,7 +9,7 @@ class MangaCatalogGenerator : ThemeSourceGenerator {
override val themeClass = "MangaCatalog"
override val baseVersionCode: Int = 1
override val baseVersionCode: Int = 2
override val sources = listOf(
SingleLang("Read Boku no Hero Academia/My Hero Academia Manga", "https://ww6.readmha.com", "en", className = "ReadBokuNoHeroAcademiaMyHeroAcademiaManga", overrideVersionCode = 1),