From 58c9d14d42afa20bdd94cfd2d12faecc8506e413 Mon Sep 17 00:00:00 2001 From: devi Date: Mon, 6 Nov 2023 20:24:12 +0100 Subject: [PATCH] Minor daily update --- .../{en/TempleScan.kt => es/TempleScanEsp.kt} | 13 ++++++------- .../kotatsu/parsers/site/heancms/HeanCms.kt | 8 +++++--- .../kotatsu/parsers/site/heancms/en/TempleScan.kt | 12 ++++++++++++ .../parsers/site/madara/es/TempleScanEsp.kt | 15 --------------- 4 files changed, 23 insertions(+), 25 deletions(-) rename src/main/kotlin/org/koitharu/kotatsu/parsers/site/{en/TempleScan.kt => es/TempleScanEsp.kt} (91%) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/en/TempleScan.kt delete mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/TempleScanEsp.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/TempleScan.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/es/TempleScanEsp.kt similarity index 91% rename from src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/TempleScan.kt rename to src/main/kotlin/org/koitharu/kotatsu/parsers/site/es/TempleScanEsp.kt index 1c35a50b..6df4def3 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/TempleScan.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/es/TempleScanEsp.kt @@ -1,4 +1,4 @@ -package org.koitharu.kotatsu.parsers.site.en +package org.koitharu.kotatsu.parsers.site.es import kotlinx.coroutines.coroutineScope import okhttp3.Headers @@ -12,13 +12,13 @@ import org.koitharu.kotatsu.parsers.network.UserAgents import org.koitharu.kotatsu.parsers.util.* import java.util.* -@MangaSourceParser("TEMPLESCAN", "TempleScan", "en") -internal class TempleScan(context: MangaLoaderContext) : - PagedMangaParser(context, MangaSource.TEMPLESCAN, pageSize = 15) { +@MangaSourceParser("TEMPLESCANESP", "TempleScanEsp", "es", ContentType.HENTAI) +internal class TempleScanEsp(context: MangaLoaderContext) : + PagedMangaParser(context, MangaSource.TEMPLESCANESP, pageSize = 15) { override val sortOrders: Set = EnumSet.of(SortOrder.NEWEST, SortOrder.UPDATED) - override val configKeyDomain = ConfigKey.Domain("templescan.net") + override val configKeyDomain = ConfigKey.Domain("templescanesp.net") override val headers: Headers = Headers.Builder() .add("User-Agent", UserAgents.CHROME_DESKTOP) @@ -61,7 +61,7 @@ internal class TempleScan(context: MangaLoaderContext) : author = null, state = null, source = source, - isNsfw = false, + isNsfw = isNsfwSource, ) } } @@ -75,7 +75,6 @@ internal class TempleScan(context: MangaLoaderContext) : manga.copy( description = doc.requireElementById("section-sinopsis").html(), chapters = chaptersDeferred, - isNsfw = false, ) } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt index 18a9e23b..59966096 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt @@ -31,6 +31,8 @@ internal abstract class HeanCms( .add("User-Agent", UserAgents.CHROME_DESKTOP) .build() + protected open val pathManga = "series" + //For some sources, you need to send a json. For the moment, this part only works in Get. ( ex source need json gloriousscan.com , omegascans.org ) override suspend fun getListPage( page: Int, @@ -78,7 +80,7 @@ internal abstract class HeanCms( val json = webClient.httpGet(url).parseJson() return json.getJSONArray("data").mapJSON { j -> val slug = j.getString("series_slug") - val urlManga = "https://$domain/series/$slug" + val urlManga = "https://$domain/$pathManga/$slug" val cover = if (j.getString("thumbnail").contains('/')) { j.getString("thumbnail") } else { @@ -120,13 +122,13 @@ internal abstract class HeanCms( .drop(1) return manga.copy( - altTitle = root.selectFirstOrThrow("p.text-center.text-gray-400").text(), + altTitle = root.selectFirst("p.text-center.text-gray-400")?.text(), tags = emptySet(), author = root.select("div.flex.flex-col.gap-y-2 p:contains(Autor:) strong").text(), description = root.selectFirst("h5:contains(Desc) + .bg-gray-800")?.html(), chapters = chapter.mapChapters(reversed = true) { i, it -> val slugChapter = it.substringAfter("chapter_slug\":\"").substringBefore("\",\"") - val url = "https://$domain/series/$slug/$slugChapter" + val url = "https://$domain/$pathManga/$slug/$slugChapter" val date = it.substringAfter("created_at\":\"").substringBefore("\",\"").substringBefore("T") val name = slugChapter.replace("-", " ") MangaChapter( diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/en/TempleScan.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/en/TempleScan.kt new file mode 100644 index 00000000..e6ffc2e0 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/en/TempleScan.kt @@ -0,0 +1,12 @@ +package org.koitharu.kotatsu.parsers.site.heancms.en + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaSource +import org.koitharu.kotatsu.parsers.site.heancms.HeanCms + +@MangaSourceParser("TEMPLESCAN", "TempleScan", "en") +internal class TempleScan(context: MangaLoaderContext) : + HeanCms(context, MangaSource.TEMPLESCAN, "templescan.net") { + override val pathManga = "comic" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/TempleScanEsp.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/TempleScanEsp.kt deleted file mode 100644 index ffccc7d2..00000000 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/TempleScanEsp.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.koitharu.kotatsu.parsers.site.madara.es - -import org.koitharu.kotatsu.parsers.MangaLoaderContext -import org.koitharu.kotatsu.parsers.MangaSourceParser -import org.koitharu.kotatsu.parsers.model.ContentType -import org.koitharu.kotatsu.parsers.model.MangaSource -import org.koitharu.kotatsu.parsers.site.madara.MadaraParser - -@MangaSourceParser("TEMPLESCANESP", "TempleScanEsp", "es", ContentType.HENTAI) -internal class TempleScanEsp(context: MangaLoaderContext) : - MadaraParser(context, MangaSource.TEMPLESCANESP, "templescanesp.com") { - override val listUrl = "series/" - override val tagPrefix = "genero/" - override val datePattern = "dd.MM.yyyy" -}