From 1ad39b7ab6ee2ba0d9a8a027b71360a9ae17fdaa Mon Sep 17 00:00:00 2001 From: AlphaBoom <30779939+AlphaBoom@users.noreply.github.com> Date: Sat, 31 May 2025 08:18:50 +0800 Subject: [PATCH] Add CartoonMad (#8987) * Add CartoonMad * Apply suggestions from code review Co-authored-by: Vetle Ledaal * Apply review suggestions * Apply review suggestions * Use encodedPath --------- Co-authored-by: Vetle Ledaal --- src/zh/cartoonmad/build.gradle | 8 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 5715 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2889 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 8820 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 17341 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 25381 bytes .../extension/zh/cartoonmad/CartoonMad.kt | 143 ++++++++++++++++++ 7 files changed, 151 insertions(+) create mode 100644 src/zh/cartoonmad/build.gradle create mode 100644 src/zh/cartoonmad/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/zh/cartoonmad/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/zh/cartoonmad/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/zh/cartoonmad/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/zh/cartoonmad/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/zh/cartoonmad/src/eu/kanade/tachiyomi/extension/zh/cartoonmad/CartoonMad.kt diff --git a/src/zh/cartoonmad/build.gradle b/src/zh/cartoonmad/build.gradle new file mode 100644 index 000000000..c6ed383a0 --- /dev/null +++ b/src/zh/cartoonmad/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'CartoonMad' + extClass = '.CartoonMad' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/zh/cartoonmad/res/mipmap-hdpi/ic_launcher.png b/src/zh/cartoonmad/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0c60b2c57c2f431f7555658a659586ff76b1647c GIT binary patch literal 5715 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 FV1j-7IobdK literal 0 HcmV?d00001 diff --git a/src/zh/cartoonmad/res/mipmap-mdpi/ic_launcher.png b/src/zh/cartoonmad/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3879c3fcdcc099e898c217d7085f3a9184c79d GIT binary patch literal 2889 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 literal 0 HcmV?d00001 diff --git a/src/zh/cartoonmad/res/mipmap-xhdpi/ic_launcher.png b/src/zh/cartoonmad/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..336243ad359e9f76ef06e634589e15f6cbd0b1cf GIT binary patch literal 8820 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 literal 0 HcmV?d00001 diff --git a/src/zh/cartoonmad/res/mipmap-xxxhdpi/ic_launcher.png b/src/zh/cartoonmad/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..330a1646e504f92e707351273563c2dde33b4ea8 GIT binary patch literal 25381 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 literal 0 HcmV?d00001 diff --git a/src/zh/cartoonmad/src/eu/kanade/tachiyomi/extension/zh/cartoonmad/CartoonMad.kt b/src/zh/cartoonmad/src/eu/kanade/tachiyomi/extension/zh/cartoonmad/CartoonMad.kt new file mode 100644 index 000000000..349ed99cc --- /dev/null +++ b/src/zh/cartoonmad/src/eu/kanade/tachiyomi/extension/zh/cartoonmad/CartoonMad.kt @@ -0,0 +1,143 @@ +package eu.kanade.tachiyomi.extension.zh.cartoonmad + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.source.model.FilterList +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.FormBody +import okhttp3.Interceptor +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import okhttp3.ResponseBody.Companion.asResponseBody +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element + +class CartoonMad : ParsedHttpSource() { + override val baseUrl = "https://www.cartoonmad.com" + override val lang: String = "zh" + override val name: String = "動漫狂" + override val supportsLatest: Boolean = true + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .addInterceptor(::handleCharsetInterceptor) + .build() + + fun handleCharsetInterceptor(chain: Interceptor.Chain): Response { + val request = chain.request() + val response = chain.proceed(request) + if (request.url.encodedPath.contains("/comic/")) { + // Need an explicit definition of the charset format for the response + return response.newBuilder() + .body( + response.body.source() + .asResponseBody("text/html; charset=big5hkscs".toMediaType()), + ) + .build() + } + return response + } + + override fun chapterFromElement(element: Element) = throw UnsupportedOperationException() + + override fun chapterListSelector() = throw UnsupportedOperationException() + + override fun imageUrlParse(document: Document) = throw UnsupportedOperationException() + + override fun latestUpdatesFromElement(element: Element) = popularMangaFromElement(element) + + override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector() + + override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/m/?act=1", headers) + + override fun latestUpdatesSelector() = popularMangaSelector() + + override fun mangaDetailsParse(document: Document): SManga { + val content = document.selectFirst(content_selector) + return SManga.create().apply { + content?.selectFirst("> table:nth-child(1) > tbody")?.let { + author = + it.selectFirst("> tr > td:contains(作者:)")?.text()?.substringAfter("作者:") + ?.trim() + genre = + it.selectFirst("> tr > td:contains(分類:) td:has(img[src=/image/start.gif])") + ?.text()?.substringAfter("分類:")?.trim() + thumbnail_url = + it.selectFirst("span.cover + img, span.covers + img")?.absUrl("src") + ?: thumbnail_url + } + description = content?.selectFirst("> table:nth-child(2) legend + table")?.text() + } + } + + override fun chapterListParse(response: Response): List { + val doc = response.asJsoup() + val content = doc.select(content_selector) + val chapters = content.select("> table:nth-child(3) legend + table > tbody > tr > td > a") + return chapters.map { + SChapter.create().apply { + name = it.text() + setUrlWithoutDomain(it.absUrl("href")) + } + }.reversed() + } + + override fun pageListParse(document: Document): List { + val ret = mutableListOf() + var doc = document + do { + val imageUrl = + doc.selectFirst("body > table > tbody > tr:nth-child(3) img")!!.absUrl("src") + ret.add(Page(ret.size, imageUrl = imageUrl)) + val nextPage = + doc.selectFirst("body > table > tbody > tr:nth-child(5) > td > a:last-child:not([href*=thendm.asp])") + ?.absUrl("href") ?: return ret + doc = client.newCall(GET(nextPage, headers)).execute().asJsoup() + } while (true) + } + + override fun popularMangaFromElement(element: Element): SManga { + return SManga.create().apply { + setUrlWithoutDomain(element.selectFirst("a.a1")!!.absUrl("href")) + title = element.selectFirst("a.a1")!!.text() + thumbnail_url = element.selectFirst("img")?.absUrl("src") + } + } + + override fun popularMangaNextPageSelector() = null + + override fun popularMangaRequest(page: Int) = GET("$baseUrl/m/?act=2", headers) + + override fun popularMangaSelector(): String { + // page row item + return "td[background=/image/content_box4.gif] + td > table > tbody > tr > td" + + // For mobile + ", div#container div.comic_prev" + } + + override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element) + + override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val body = FormBody.Builder() + .add("keyword", query) + .add("x", "0") + .add("y", "0") + .build() + return POST("$baseUrl/m/?act=7", headers, body) + } + + override fun searchMangaSelector() = popularMangaSelector() +} + +private const val content_selector = + // For PC + "body > table > tbody > tr:nth-child(1) > td:nth-child(2) > table > tbody > tr:nth-child(4) > td > table > tbody > tr:nth-child(2) > td:nth-child(2)" + + // For Mobile + ", body > table:nth-of-type(2) > tbody > tr:nth-child(2) > td"