Skip to content

Commit

Permalink
Catharsis World: Update domain and theme (#7565)
Browse files Browse the repository at this point in the history
* update theme

* fix chapterlist edge case
  • Loading branch information
bapeey authored Feb 9, 2025
1 parent 7c369dc commit b3f9626
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 33 deletions.
6 changes: 3 additions & 3 deletions src/es/catharsisworld/build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
ext {
extName = 'Catharsis World'
extClass = '.CatharsisWorld'
themePkg = 'mangathemesia'
baseUrl = 'https://catharsisworld.com'
overrideVersionCode = 1
themePkg = 'madara'
baseUrl = 'https://catharsisworld.kawi.lat'
overrideVersionCode = 0
isNsfw = true
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,40 +1,57 @@
package eu.kanade.tachiyomi.extension.es.catharsisworld

import android.annotation.SuppressLint
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import eu.kanade.tachiyomi.network.interceptor.rateLimit
import okhttp3.OkHttpClient
import java.security.SecureRandom
import java.security.cert.X509Certificate
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager

class CatharsisWorld : MangaThemesia(
import eu.kanade.tachiyomi.multisrc.madara.Madara
import eu.kanade.tachiyomi.network.interceptor.rateLimitHost
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.HttpUrl.Companion.toHttpUrl
import org.jsoup.nodes.Element

class CatharsisWorld : Madara(
"Catharsis World",
"https://catharsisworld.com",
"https://catharsisworld.kawi.lat",
"es",
) {
override val versionId = 2

override val mangaSubString = "serie"

override val useLoadMoreRequest = LoadMoreStrategy.Always

override val client = super.client.newBuilder()
.rateLimit(3)
.ignoreAllSSLErrors()
.rateLimitHost(baseUrl.toHttpUrl(), 3, 1)
.build()

private fun OkHttpClient.Builder.ignoreAllSSLErrors(): OkHttpClient.Builder {
val naiveTrustManager = @SuppressLint("CustomX509TrustManager")
object : X509TrustManager {
override fun getAcceptedIssuers(): Array<X509Certificate> = emptyArray()
override fun checkClientTrusted(certs: Array<X509Certificate>, authType: String) = Unit
override fun checkServerTrusted(certs: Array<X509Certificate>, authType: String) = Unit
}

val insecureSocketFactory = SSLContext.getInstance("TLSv1.2").apply {
val trustAllCerts = arrayOf<TrustManager>(naiveTrustManager)
init(null, trustAllCerts, SecureRandom())
}.socketFactory

sslSocketFactory(insecureSocketFactory, naiveTrustManager)
hostnameVerifier { _, _ -> true }
return this
override fun popularMangaSelector() = "div.latest-poster"

override fun popularMangaFromElement(element: Element) = SManga.create().apply {
title = element.selectFirst("h3")!!.text()
thumbnail_url = element.selectFirst("a[style].bg-cover")?.imageFromStyle()
setUrlWithoutDomain(element.selectFirst("a")!!.attr("href"))
}

override fun searchMangaSelector() = "button.group > div.grid"

override fun searchMangaFromElement(element: Element) = SManga.create().apply {
title = element.selectFirst("h3")!!.text()
thumbnail_url = element.selectFirst("div[style].bg-cover")?.imageFromStyle()
setUrlWithoutDomain(element.selectFirst("a")!!.attr("href"))
}

override val mangaDetailsSelectorTitle = "div.wp-manga div.grid > h1"
override val mangaDetailsSelectorStatus = "div.wp-manga div[alt=type]:eq(0) > span"
override val mangaDetailsSelectorGenre = "div.wp-manga div[alt=type]:gt(0) > span"
override val mangaDetailsSelectorDescription = "div.wp-manga div#expand_content"

override fun chapterListSelector() = "ul#list-chapters li > a"

override fun chapterFromElement(element: Element) = SChapter.create().apply {
name = element.selectFirst("div.grid > span")!!.text()
date_upload = element.selectFirst("div.grid > div")?.text()?.let { parseChapterDate(it) } ?: 0
setUrlWithoutDomain(element.selectFirst("a")!!.attr("href"))
}

private fun Element.imageFromStyle(): String {
return this.attr("style").substringAfter("url(").substringBefore(")")
}
}

0 comments on commit b3f9626

Please sign in to comment.