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>
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 280 KiB |
|
@ -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")),
|
||||||
|
)
|
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 167 KiB |
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 218 KiB |
|
@ -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"
|
||||||
|
}
|
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 60 KiB |
|
@ -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")),
|
||||||
|
)
|
|
@ -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),
|
||||||
|
|