From 0a0ff7c1ace3e740f320675e988841ee8eac3930 Mon Sep 17 00:00:00 2001 From: altaccosc <97206249+altaccosc@users.noreply.github.com> Date: Sun, 17 Mar 2024 19:05:45 +0100 Subject: [PATCH] Add Clown Corps comic source (#1808) * Add ClownCorps comic source * Apply suggestions from code review Thank you very much! Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Only loop through the present pages Don't just loop forever until a 404 is returned * Disable reduntant sorting code * Add date to chapters * Apply suggestions from code review Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Remove commented snippet Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Move vars to companion obj & inline description * Un-move some constants & Use Observable.just * Extract SManga creation to separate function And use where necessary * Omit unnecessary function call Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com> * Add caching I've tried a great many different ways of caching today, and as far as I can reason with my fried brain, I think this one now works pretty well. I shall continue testing it on my phone. * Change SerializableChapter implementation Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com> * Code cleanliness Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com> * Optimise requests for page 1 away * Explicitly sort chapters by upload date * Move other preference options into separate functions * Assume response document always contains what we're asking And throw a runtime exception if it doesn't, so the problem can be noticed and fixed. --------- Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com> --- src/en/clowncorps/build.gradle | 11 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 8853 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 4422 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 12803 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 24292 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 38618 bytes .../extension/en/clowncorps/ClownCorps.kt | 245 ++++++++++++++++++ 7 files changed, 256 insertions(+) create mode 100644 src/en/clowncorps/build.gradle create mode 100644 src/en/clowncorps/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/clowncorps/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/clowncorps/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/clowncorps/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/clowncorps/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/clowncorps/src/eu/kanade/tachiyomi/extension/en/clowncorps/ClownCorps.kt diff --git a/src/en/clowncorps/build.gradle b/src/en/clowncorps/build.gradle new file mode 100644 index 000000000..a46b77f4f --- /dev/null +++ b/src/en/clowncorps/build.gradle @@ -0,0 +1,11 @@ +ext { + extName = 'Clown Corps' + extClass = '.ClownCorps' + extVersionCode = 1 +} + +apply from: "$rootDir/common.gradle" + +dependencies { + implementation(project(':lib:textinterceptor')) +} diff --git a/src/en/clowncorps/res/mipmap-hdpi/ic_launcher.png b/src/en/clowncorps/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1f365191311556e314d9c45dafc4a9b34caaef GIT binary patch literal 8853 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

@+M4Y#LMA=MfTVa%EhVQQ?G8%vb0sM{ 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 XdJ5AjlsXFp00000NkvXXu0mjfl`;E) literal 0 HcmV?d00001 diff --git a/src/en/clowncorps/res/mipmap-mdpi/ic_launcher.png b/src/en/clowncorps/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3c5367cadd16df2ae493e2a1a4c8ace5a7c9e680 GIT binary patch literal 4422 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 Vs;k4if06(I002ovPDHLkV1itUzQX_j literal 0 HcmV?d00001 diff --git a/src/en/clowncorps/res/mipmap-xxhdpi/ic_launcher.png b/src/en/clowncorps/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9ee0b29530e6f58972e96bbf38f0824f7ac7666d GIT binary patch literal 24292 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 KMNUMnLSTZtz&{HB literal 0 HcmV?d00001 diff --git a/src/en/clowncorps/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/clowncorps/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3189fdbe129e603ac133c7e3c0cb4a5c39f945dd GIT binary patch literal 38618 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

HmEmJ$v=k;uB^jPfkx}Ipy+Y-y@c0 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 = + Observable.just(MangasPage(listOf(getManga()), hasNextPage = false)) + + override fun fetchSearchManga(page: Int, query: String, filters: FilterList) = + fetchPopularManga(page) + + override fun fetchMangaDetails(manga: SManga): Observable = + Observable.just(getManga()) + + @Serializable + class SerializableChapter(val fullLink: String, val name: String, val dateUpload: Long) { + override fun hashCode() = fullLink.hashCode() + override fun equals(other: Any?) = + other is SerializableChapter && fullLink == other.fullLink + } + + override fun chapterListParse(response: Response): List { + // The total number of webpages with chapters on them + val document = response.asJsoup() + val currentPageIndicator = document.select("#paginav li.paginav-pages").text() + val totalWebpageCount = currentPageIndicator.split(" ").last().toInt() + + val allChapters = getChaptersFromCache().toMutableSet() + // Fetch all the chapters from the website until we reached where the cache left off + for (webpageIndex in 1..totalWebpageCount) { + val pageDoc = if (webpageIndex == 1) document else fetchChapterWebpage(webpageIndex) + val anyChaptersWereAdded = allChapters.addAll(extractChapters(pageDoc)) + if (!anyChaptersWereAdded) break // No new chapters were added from this webpage, so we're done + } + + // Save the chapters to cache + val fullJsonString = Json.encodeToString(allChapters) + setChapterCache(fullJsonString) + + // Convert the serializable chapters to SChapters + return allChapters + .sortedByDescending { it.dateUpload } + .map { chapter -> + SChapter.create().apply { + setUrlWithoutDomain(chapter.fullLink) + name = chapter.name + date_upload = chapter.dateUpload + } + } + } + + private fun getChaptersFromCache(): Set { + val cachedChaps = getChapterCache() ?: return emptySet() + return Json.decodeFromString(cachedChaps) + } + + private fun fetchChapterWebpage(webpageIndex: Int): Document { + val url = "$baseUrl/comic/page/$webpageIndex/" + return client.newCall(GET(url, headers)).execute().asJsoup() + } + + private fun extractChapters(document: Document): List { + val comics = document.select(".comic") + return comics.map { + val link = it.selectFirst(".post-title a")!!.attr("href") + val title = it.selectFirst(".post-title a")!!.text() + val postDate = it.selectFirst(".post-date")!!.text() + val postTime = it.selectFirst(".post-time")!!.text() + val date = parseDate("$postDate $postTime") + SerializableChapter(link, title, date) + } + } + + private fun parseDate(dateStr: String): Long { + return try { + dateFormat.parse(dateStr)!!.time + } catch (_: ParseException) { + 0L + } + } + + private val dateFormat by lazy { + SimpleDateFormat("MMMM dd, yyyy hh:mm aa", Locale.ENGLISH) + } + + override fun pageListParse(response: Response): List { + val doc = response.asJsoup() + val pages = mutableListOf() + + val image = doc.selectFirst("#comic img") ?: return pages + + val url = image.attr("src") + pages.add(Page(0, "", url)) + + if (getShowAuthorsNotesPref()) { + val title = image.attr("title") + + // Ignore chapters that don't really have author's notes + val ignoreRegex = Regex("""^chapter \d+ page \d+$""", RegexOption.IGNORE_CASE) + if (ignoreRegex.matches(title)) return pages + + val localURL = TextInterceptorHelper.createUrl("Author's Notes from $CREATOR", title) + val textPage = Page(pages.size, "", localURL) + pages.add(textPage) + } + + return pages + } + + override fun imageUrlParse(response: Response) = + throw UnsupportedOperationException() + + override fun latestUpdatesParse(response: Response) = + throw UnsupportedOperationException() + + override fun latestUpdatesRequest(page: Int) = + throw UnsupportedOperationException() + + override fun mangaDetailsParse(response: Response) = + throw UnsupportedOperationException() + + override fun popularMangaParse(response: Response) = + throw UnsupportedOperationException() + + override fun popularMangaRequest(page: Int) = + throw UnsupportedOperationException() + + override fun searchMangaParse(response: Response) = + throw UnsupportedOperationException() + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = + throw UnsupportedOperationException() + + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + private fun getShowAuthorsNotesPref() = + preferences.getBoolean(SETTING_KEY_SHOW_AUTHORS_NOTES, false) + + private fun getChapterCache() = + preferences.getString(CACHE_KEY_CHAPTERS, null) + + private fun setChapterCache(json: String) = + preferences.edit().putString(CACHE_KEY_CHAPTERS, json).apply() + + private fun clearChapterCache() = + preferences.edit().remove(CACHE_KEY_CHAPTERS).apply() + + override fun setupPreferenceScreen(screen: PreferenceScreen) { + val authorsNotesPref = SwitchPreferenceCompat(screen.context).apply { + key = SETTING_KEY_SHOW_AUTHORS_NOTES + title = "Show author's notes" + summary = + "Enable to see the author's notes at the end of chapters (if they're there)." + setDefaultValue(false) + } + screen.addPreference(authorsNotesPref) + + // I couldn't find a way to create a simple button, so here's a workaround that uses + // a MultiSelectListPreference with a single option as a kind of confirmation window. + val clearCachePref = MultiSelectListPreference(screen.context).apply { + key = SETTING_KEY_CLEAR_CHAPTER_CACHE + title = "Clear chapter cache" + summary = "Clears the chapter cache, forcing a full re-fetch from the website." + dialogTitle = "Are you sure you want to clear the chapter cache?" + entries = arrayOf("Yes, I'm sure") + entryValues = arrayOf(VALUE_CONFIRM) + setDefaultValue(emptySet()) + + setOnPreferenceChangeListener { _, newValue -> + val checkValue = newValue as Set<*> + if (checkValue.contains(VALUE_CONFIRM)) { + clearChapterCache() + Toast.makeText(screen.context, "Cleared chapter cache", Toast.LENGTH_SHORT) + .show() + } + + false // Don't actually save the "yes" + } + } + screen.addPreference(clearCachePref) + } + + companion object { + private const val CREATOR = "Joe Chouinard" + + private const val SETTING_KEY_SHOW_AUTHORS_NOTES = "showAuthorsNotes" + + private const val CACHE_KEY_CHAPTERS = "chaptersCache" + + private const val SETTING_KEY_CLEAR_CHAPTER_CACHE = "clearChapterCache" + private const val VALUE_CONFIRM = "yes" + } +}