diff --git a/src/en/readallcomicscom/build.gradle b/src/en/readallcomicscom/build.gradle index 01defa473..436d649b7 100644 --- a/src/en/readallcomicscom/build.gradle +++ b/src/en/readallcomicscom/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'ReadAllComics' extClass = '.ReadAllComics' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/en/readallcomicscom/src/eu/kanade/tachiyomi/extension/en/readallcomicscom/ReadAllComics.kt b/src/en/readallcomicscom/src/eu/kanade/tachiyomi/extension/en/readallcomicscom/ReadAllComics.kt index 7cfa77553..9917592a8 100644 --- a/src/en/readallcomicscom/src/eu/kanade/tachiyomi/extension/en/readallcomicscom/ReadAllComics.kt +++ b/src/en/readallcomicscom/src/eu/kanade/tachiyomi/extension/en/readallcomicscom/ReadAllComics.kt @@ -32,16 +32,28 @@ class ReadAllComics : ParsedHttpSource() { override val client = network.cloudflareClient override fun popularMangaRequest(page: Int): Request { - throw Exception("ReadAllComics has no popular titles Page. Please use the search function instead.") + val url = baseUrl.toHttpUrl().newBuilder().apply { + addPathSegments("page/$page") + }.build() + + return GET(url, headers) } - // Never called override fun popularMangaFromElement(element: Element): SManga { - throw Exception("") + val manga = SManga.create().apply { + val category = element.classNames() + .firstOrNull { it.startsWith("category-") }!! + .substringAfter("category-") + setUrlWithoutDomain("/category/$category") + title = category.replace("-", " ").titleCaseWords() + thumbnail_url = element.selectFirst("img")?.attr("src") + } + + return manga } - override fun popularMangaSelector() = "" - override fun popularMangaNextPageSelector() = "" + override fun popularMangaSelector() = "#post-area > div" + override fun popularMangaNextPageSelector() = "a.page-numbers.next" override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { return if (page == 1) { @@ -123,6 +135,11 @@ class ReadAllComics : ParsedHttpSource() { } } + private fun String.titleCaseWords(): String { + val words = this.split(" ") + return words.joinToString(" ") { word -> word.replaceFirstChar { it.titlecase() } } + } + override fun imageUrlParse(document: Document) = throw UnsupportedOperationException() override fun latestUpdatesRequest(page: Int) =