Add new sources to MangaThemesia (#17676)

* Add new sources to MangaThemesia

* DuniaKomikId -> Update Domain

* Add ratelimit to SummerToon

* Bump

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>

---------

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
This commit is contained in:
bapeey 2023-08-26 09:24:38 -05:00 committed by GitHub
parent f12ba2fcad
commit 17378680de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 93 additions and 2 deletions

View File

@ -4,7 +4,7 @@ import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
class DuniaKomikId : MangaThemesia("DuniaKomik.id", "https://duniakomik.id", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id", "ID"))) { class DuniaKomikId : MangaThemesia("DuniaKomik.id", "https://duniakomik.org", "id", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id", "ID"))) {
override val hasProjectPage = true override val hasProjectPage = true
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

View File

@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.es.mangashiina
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import java.text.SimpleDateFormat
import java.util.Locale
class MangaShiina : MangaThemesia(
"MangaShiina",
"https://mangashiina.com",
"es",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es")),
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

View File

@ -0,0 +1,43 @@
package eu.kanade.tachiyomi.extension.es.skymangas
import android.util.Base64
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import eu.kanade.tachiyomi.source.model.Page
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonPrimitive
import org.jsoup.nodes.Document
import java.lang.IllegalArgumentException
import java.text.SimpleDateFormat
import java.util.Locale
class SkyMangas : MangaThemesia(
"SkyMangas",
"https://skymangas.com",
"es",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es")),
) {
override fun pageListParse(document: Document): List<Page> {
val script = document.selectFirst("div.readercontent > div.wrapper > script")
?: return super.pageListParse(document)
val scriptSrc = script.attr("src")
if (scriptSrc.startsWith("data:text/javascript;base64,")) {
val encodedData = scriptSrc.substringAfter("data:text/javascript;base64,")
val decodedData = Base64.decode(encodedData, Base64.DEFAULT).toString(Charsets.UTF_8)
val imageListJson = JSON_IMAGE_LIST_REGEX.find(decodedData)?.destructured?.toList()?.get(0).orEmpty()
val imageList = try {
json.parseToJsonElement(imageListJson).jsonArray
} catch (_: IllegalArgumentException) {
emptyList()
}
return imageList.mapIndexed { i, jsonEl ->
Page(i, "", jsonEl.jsonPrimitive.content)
}
}
return super.pageListParse(document)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

View File

@ -0,0 +1,20 @@
package eu.kanade.tachiyomi.extension.tr.summertoon
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import eu.kanade.tachiyomi.network.interceptor.rateLimit
import java.text.SimpleDateFormat
import java.util.Locale
class SummerToon : MangaThemesia(
"SummerToon",
"https://summertoon.com",
"tr",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("tr")),
) {
override val client = super.client.newBuilder()
.rateLimit(1, 1)
.build()
override val seriesStatusSelector = ".tsinfo .imptdt:contains(Durum) i"
override val seriesAuthorSelector = ".fmed b:contains(Yazar)+span"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.es.tenkaiscan
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import java.text.SimpleDateFormat
import java.util.Locale
class TenkaiScan : MangaThemesia(
"TenkaiScan",
"https://tenkaiscan.net",
"es",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("en")),
)

View File

@ -30,7 +30,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
SingleLang("CosmicScans.id", "https://cosmicscans.id", "id", overrideVersionCode = 1, className = "CosmicScansID"), SingleLang("CosmicScans.id", "https://cosmicscans.id", "id", overrideVersionCode = 1, className = "CosmicScansID"),
SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 7), SingleLang("Diskus Scan", "https://diskusscan.com", "pt-BR", overrideVersionCode = 7),
SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"), SingleLang("Dojing.net", "https://dojing.net", "id", isNsfw = true, className = "DojingNet"),
SingleLang("DuniaKomik.id", "https://duniakomik.id", "id", className = "DuniaKomikId", overrideVersionCode = 1), SingleLang("DuniaKomik.id", "https://duniakomik.org", "id", className = "DuniaKomikId", overrideVersionCode = 2),
SingleLang("ElarcPage", "https://elarcpage.com", "en"), SingleLang("ElarcPage", "https://elarcpage.com", "en"),
SingleLang("Epsilon Scan", "https://epsilonscan.fr", "fr", isNsfw = true), SingleLang("Epsilon Scan", "https://epsilonscan.fr", "fr", isNsfw = true),
SingleLang("Franxx Mangás", "https://franxxmangas.net", "pt-BR", className = "FranxxMangas", isNsfw = true), SingleLang("Franxx Mangás", "https://franxxmangas.net", "pt-BR", className = "FranxxMangas", isNsfw = true),
@ -68,6 +68,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
SingleLang("Mangacim", "https://www.mangacim.com", "tr", overrideVersionCode = 1), SingleLang("Mangacim", "https://www.mangacim.com", "tr", overrideVersionCode = 1),
SingleLang("MangaKita", "https://mangakita.net", "id", overrideVersionCode = 1), SingleLang("MangaKita", "https://mangakita.net", "id", overrideVersionCode = 1),
SingleLang("Mangakyo", "https://mangakyo.org", "id", overrideVersionCode = 2), SingleLang("Mangakyo", "https://mangakyo.org", "id", overrideVersionCode = 2),
SingleLang("MangaShiina", "https://mangashiina.com", "es"),
SingleLang("Mangasusu", "https://mangasusuku.xyz/", "id", isNsfw = true, overrideVersionCode = 2), SingleLang("Mangasusu", "https://mangasusuku.xyz/", "id", isNsfw = true, overrideVersionCode = 2),
SingleLang("MangaTale", "https://mangatale.co", "id"), SingleLang("MangaTale", "https://mangatale.co", "id"),
SingleLang("MangaWT", "https://mangawt.com", "tr", overrideVersionCode = 5), SingleLang("MangaWT", "https://mangawt.com", "tr", overrideVersionCode = 5),
@ -115,13 +116,16 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
SingleLang("Shadow Mangas", "https://shadowmangas.com", "es", overrideVersionCode = 1), SingleLang("Shadow Mangas", "https://shadowmangas.com", "es", overrideVersionCode = 1),
SingleLang("Shea Manga", "https://sheakomik.com", "id", overrideVersionCode = 4), SingleLang("Shea Manga", "https://sheakomik.com", "id", overrideVersionCode = 4),
SingleLang("Silence Scan", "https://silencescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 5), SingleLang("Silence Scan", "https://silencescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 5),
SingleLang("SkyMangas", "https://skymangas.com", "es"),
SingleLang("Snudae Scans", "https://snudaescans.com", "en", isNsfw = true, className = "BatotoScans", overrideVersionCode = 1), SingleLang("Snudae Scans", "https://snudaescans.com", "en", isNsfw = true, className = "BatotoScans", overrideVersionCode = 1),
SingleLang("SSSScanlator", "https://sssscanlator.com", "pt-BR"), SingleLang("SSSScanlator", "https://sssscanlator.com", "pt-BR"),
SingleLang("Starlight Scan", "https://starligthscan.com", "pt-BR", isNsfw = true), SingleLang("Starlight Scan", "https://starligthscan.com", "pt-BR", isNsfw = true),
SingleLang("Summer Fansub", "https://smmr.in", "pt-BR", isNsfw = true), SingleLang("Summer Fansub", "https://smmr.in", "pt-BR", isNsfw = true),
SingleLang("SummerToon", "https://summertoon.com", "tr"),
SingleLang("Surya Scans", "https://suryascans.com", "en"), SingleLang("Surya Scans", "https://suryascans.com", "en"),
SingleLang("Sushi-Scan", "https://sushiscan.net", "fr", className = "SushiScan", overrideVersionCode = 6), SingleLang("Sushi-Scan", "https://sushiscan.net", "fr", className = "SushiScan", overrideVersionCode = 6),
SingleLang("Tarot Scans", "https://www.tarotscans.com", "tr"), SingleLang("Tarot Scans", "https://www.tarotscans.com", "tr"),
SingleLang("TenkaiScan", "https://tenkaiscan.net", "es", isNsfw = true),
SingleLang("The Apollo Team", "https://theapollo.team", "en"), SingleLang("The Apollo Team", "https://theapollo.team", "en"),
SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9), SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9),
SingleLang("TukangKomik", "https://tukangkomik.id", "id", overrideVersionCode = 1), SingleLang("TukangKomik", "https://tukangkomik.id", "id", overrideVersionCode = 1),