diff --git a/src/all/wpcomics/build.gradle b/src/all/wpcomics/build.gradle index 6f6f01027..25afb1768 100644 --- a/src/all/wpcomics/build.gradle +++ b/src/all/wpcomics/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'WP-Comics' pkgNameSuffix = 'all.wpcomics' extClass = '.WPComicsFactory' - extVersionCode = 11 + extVersionCode = 12 libVersion = '1.2' } diff --git a/src/all/wpcomics/src/eu/kanade/tachiyomi/extension/all/wpcomics/WPComicsFactory.kt b/src/all/wpcomics/src/eu/kanade/tachiyomi/extension/all/wpcomics/WPComicsFactory.kt index 070c8e452..53ea60c1e 100644 --- a/src/all/wpcomics/src/eu/kanade/tachiyomi/extension/all/wpcomics/WPComicsFactory.kt +++ b/src/all/wpcomics/src/eu/kanade/tachiyomi/extension/all/wpcomics/WPComicsFactory.kt @@ -4,6 +4,7 @@ import eu.kanade.tachiyomi.annotations.MultiSource import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceFactory +import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter @@ -120,6 +121,29 @@ private class ComicLatest : WPComics("ComicLatest", "https://comiclatest.com", " thumbnail_url = element.select("img").attr("data-original") } + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + filters.forEach { filter -> + when (filter) { + is AuthorFilter -> { + val author = filter.state.trim().replace(" ", "-").toLowerCase() + return GET("$baseUrl/author/$author", headers) + } + } + } + + return GET("$baseUrl/search?keyword=$query", headers) + } + + override fun searchMangaSelector() = "div.item div.box_img > a[title]" + + //For whatever reason, errors with author search if this isn't overridden + override fun searchMangaFromElement(element: Element): SManga { + return SManga.create().apply { + title = element.attr("title") + setUrlWithoutDomain(element.attr("href")) + } + } + override fun chapterListParse(response: Response): List { val chapters = mutableListOf() @@ -135,4 +159,12 @@ private class ComicLatest : WPComics("ComicLatest", "https://comiclatest.com", " } override fun pageListRequest(chapter: SChapter) = GET("$baseUrl${chapter.url}/all", headers) + + private class AuthorFilter: Filter.Text("Author") + + override fun getFilterList() = FilterList( + Filter.Header("NOTE: Cannot be used with search"), + Filter.Separator(), + AuthorFilter() + ) }