From 2e138da3d5f6af11d5af91e9c911cfd50f8bb88a Mon Sep 17 00:00:00 2001 From: devi Date: Fri, 23 Aug 2024 17:32:53 +0200 Subject: [PATCH] add source and fix --- .../kotatsu/parsers/site/all/ExHentaiParser.kt | 1 - .../kotatsu/parsers/site/keyoapp/ar/Scans4u.kt | 10 ++++++++++ .../parsers/site/madara/ar/WebtoonEmpire.kt | 4 +--- .../kotatsu/parsers/site/madara/ar/YonaBar.kt | 14 ++++++++++++++ .../kotatsu/parsers/site/madara/en/FireScans.kt | 2 +- .../parsers/site/madara/es/ArtesSupremas.kt | 12 ++++++++++++ .../kotatsu/parsers/site/madara/tr/Atikrost.kt | 2 +- .../kotatsu/parsers/site/madara/tr/Grimelek.kt | 2 +- .../kotatsu/parsers/site/madara/tr/LunaScans.kt | 2 +- .../parsers/site/mangareader/MangaReaderParser.kt | 8 ++++---- .../parsers/site/mangareader/ar/NoonScan.kt | 2 +- .../parsers/site/mangareader/ar/Normoyun.kt | 2 +- .../parsers/site/mangareader/en/LuminousScans.kt | 4 ++-- .../parsers/site/mangareader/en/Manjanoon.kt | 2 +- .../parsers/site/mangareader/es/InariPikav.kt | 2 -- .../parsers/site/mangareader/fr/SushiScanFR.kt | 5 ++++- .../parsers/site/mangareader/id/DoujinDesuRip.kt | 8 +++++++- .../parsers/site/mangareader/id/Mangayaro.kt | 8 +++++++- .../parsers/site/mangareader/id/MonzeeKomik.kt | 8 +++++++- .../parsers/site/mangareader/th/ReaperTrans.kt | 14 ++++++++++++++ .../kotatsu/parsers/site/nepnep/NepnepParser.kt | 8 ++++---- .../kotatsu/parsers/site/vi/BlogTruyenParser.kt | 10 ++++++---- .../kotatsu/parsers/site/vi/BlogTruyenVNParser.kt | 10 ++++++---- .../parsers/site/wpcomics/WpComicsParser.kt | 2 +- .../parsers/site/zeistmanga/id/NgamenKomik.kt | 10 ++++++++++ 25 files changed, 116 insertions(+), 36 deletions(-) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/keyoapp/ar/Scans4u.kt create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/YonaBar.kt create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/ArtesSupremas.kt create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/th/ReaperTrans.kt create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/id/NgamenKomik.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/ExHentaiParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/ExHentaiParser.kt index a2043e4b..305cb98e 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/ExHentaiParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/all/ExHentaiParser.kt @@ -8,7 +8,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.Interceptor import okhttp3.Response import okhttp3.internal.headersContentLength -import org.intellij.lang.annotations.Language import org.jsoup.internal.StringUtil import org.jsoup.nodes.Element import org.koitharu.kotatsu.parsers.MangaLoaderContext diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/keyoapp/ar/Scans4u.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/keyoapp/ar/Scans4u.kt new file mode 100644 index 00000000..811dca4b --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/keyoapp/ar/Scans4u.kt @@ -0,0 +1,10 @@ +package org.koitharu.kotatsu.parsers.site.keyoapp.ar + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.keyoapp.KeyoappParser + +@MangaSourceParser("SCANS4U", "4uScans", "ar") +internal class Scans4u(context: MangaLoaderContext) : + KeyoappParser(context, MangaParserSource.SCANS4U, "4uscans.com") diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/WebtoonEmpire.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/WebtoonEmpire.kt index be0696cc..39002838 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/WebtoonEmpire.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/WebtoonEmpire.kt @@ -1,15 +1,13 @@ package org.koitharu.kotatsu.parsers.site.madara.ar -import org.koitharu.kotatsu.parsers.Broken import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.site.madara.MadaraParser -@Broken @MangaSourceParser("WEBTOONEMPIRE", "WebtoonEmpire", "ar") internal class WebtoonEmpire(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.WEBTOONEMPIRE, "webtoonsempireron.com", pageSize = 10) { + MadaraParser(context, MangaParserSource.WEBTOONEMPIRE, "webtoonempire-ron.com", pageSize = 10) { override val listUrl = "webtoon/" override val datePattern = "d MMMM، yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/YonaBar.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/YonaBar.kt new file mode 100644 index 00000000..158ca455 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/YonaBar.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.madara.ar + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser +import java.util.Locale + +@MangaSourceParser("YONABAR", "YonaBar", "ar") +internal class YonaBar(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.YONABAR, "yonabar.xyz", 10) { + override val sourceLocale: Locale = Locale.ENGLISH + override val listUrl = "yaoi/" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FireScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FireScans.kt index be614178..25ba1598 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FireScans.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FireScans.kt @@ -9,7 +9,7 @@ import org.koitharu.kotatsu.parsers.util.* @MangaSourceParser("FIRESCANS", "FireScans", "en") internal class FireScans(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.FIRESCANS, "firecomics.org", 10) { + MadaraParser(context, MangaParserSource.FIRESCANS, "firescans.xyz", 10) { override fun parseMangaList(doc: Document): List { return doc.select("div.row.c-tabs-item__content").ifEmpty { diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/ArtesSupremas.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/ArtesSupremas.kt new file mode 100644 index 00000000..b31f16c1 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/ArtesSupremas.kt @@ -0,0 +1,12 @@ +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.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@MangaSourceParser("ARTESSUPREMAS", "ArtesSupremas", "es") +internal class ArtesSupremas(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.ARTESSUPREMAS, "artessupremas.com") { + override val datePattern = "dd/MM/yyyy" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Atikrost.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Atikrost.kt index 6b742b62..30c9618a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Atikrost.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Atikrost.kt @@ -7,6 +7,6 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser @MangaSourceParser("ATIKROST", "Atikrost", "tr") internal class Atikrost(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.ATIKROST, "www.atikrost.com", 10) { + MadaraParser(context, MangaParserSource.ATIKROST, "www.mangaoku.org", 10) { override val datePattern = "d MMMM yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Grimelek.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Grimelek.kt index 3b7f2ef1..1972cdd4 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Grimelek.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Grimelek.kt @@ -8,7 +8,7 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser //This source requires an account. @MangaSourceParser("GRIMELEK", "Grimelek", "tr") internal class Grimelek(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.GRIMELEK, "grimelek.me", 20) { + MadaraParser(context, MangaParserSource.GRIMELEK, "grimelek.pro", 20) { override val datePattern = "d MMMM yyyy" override val listUrl = "seri/" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/LunaScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/LunaScans.kt index 55138f9f..5325eb51 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/LunaScans.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/LunaScans.kt @@ -8,7 +8,7 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser @MangaSourceParser("LUNASCANS", "LunaScans", "tr", ContentType.HENTAI) internal class LunaScans(context: MangaLoaderContext) : - MadaraParser(context, MangaParserSource.LUNASCANS, "lunascans.fun") { + MadaraParser(context, MangaParserSource.LUNASCANS, "lunascans.org") { override val postReq = true override val datePattern = "dd MMMM yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt index 7dd28686..99188a2c 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt @@ -223,18 +223,18 @@ internal abstract class MangaReaderParser( "En cours de publication", "Đang tiến hành", "Em lançamento", "em lançamento", "Em Lançamento", "Онгоінг", "Publishing", "Devam Ediyor", "Em Andamento", "In Corso", "Güncel", "Berjalan", "Продолжается", "Updating", "Lançando", "In Arrivo", "Emision", "En emision", "مستمر", "Curso", "En marcha", "Publicandose", "Publicando", "连载中", "Devam ediyor", "Devam Etmekte", - -> MangaState.ONGOING + -> MangaState.ONGOING "Completed", "Completo", "Complété", "Fini", "Achevé", "Terminé", "Terminé ⚫", "Tamamlandı", "Đã hoàn thành", "Hoàn Thành", "مكتملة", "Завершено", "Finished", "Finalizado", "Completata", "One-Shot", "Bitti", "Tamat", "Completado", "Concluído", "Concluido", "已完结", "Bitmiş", - -> MangaState.FINISHED + -> MangaState.FINISHED "Canceled", "Cancelled", "Cancelado", "cancellato", "Cancelados", "Dropped", "Discontinued", "abandonné", "Abandonné", - -> MangaState.ABANDONED + -> MangaState.ABANDONED "Hiatus", "On Hold", "Pausado", "En espera", "En pause", "En Pause", "En attente", - -> MangaState.PAUSED + -> MangaState.PAUSED else -> null } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/NoonScan.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/NoonScan.kt index b6596c37..c6b5ace6 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/NoonScan.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/NoonScan.kt @@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser -@MangaSourceParser("NOONSCAN", "NoonScan", "ar") +@MangaSourceParser("NOONSCAN", "NoonScan.com", "ar") internal class NoonScan(context: MangaLoaderContext) : MangaReaderParser(context, MangaParserSource.NOONSCAN, "noonscan.com", pageSize = 20, searchPageSize = 10) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/Normoyun.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/Normoyun.kt index 111fb840..640b80a9 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/Normoyun.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/ar/Normoyun.kt @@ -10,7 +10,7 @@ import java.text.SimpleDateFormat @MangaSourceParser("NORMOYUN", "MaxLevelTeam", "ar") internal class Normoyun(context: MangaLoaderContext) : - MangaReaderParser(context, MangaParserSource.NORMOYUN, "tatwt.com", pageSize = 42, searchPageSize = 39) { + MangaReaderParser(context, MangaParserSource.NORMOYUN, "healteer.com", pageSize = 42, searchPageSize = 39) { override val datePattern = "MMMM dd, yyyy" override val selectMangaList = ".listupd .bs .bsx" diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/LuminousScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/LuminousScans.kt index af7220b3..dde08da5 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/LuminousScans.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/LuminousScans.kt @@ -5,12 +5,12 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser -@MangaSourceParser("LUMINOUSSCANS", "LuminousScans", "en") +@MangaSourceParser("LUMINOUSSCANS", "RadiantScans", "en") internal class LuminousScans(context: MangaLoaderContext) : MangaReaderParser( context, MangaParserSource.LUMINOUSSCANS, - "luminous-scans.com", + "radiantscans.com", pageSize = 20, searchPageSize = 10, ) { diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/Manjanoon.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/Manjanoon.kt index 5686dfb7..bbb9e50e 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/Manjanoon.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/Manjanoon.kt @@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser -@MangaSourceParser("MANJANOON_EN", "NoonScan", "en") +@MangaSourceParser("MANJANOON_EN", "NoonScan.net", "en") internal class Manjanoon(context: MangaLoaderContext) : MangaReaderParser(context, MangaParserSource.MANJANOON_EN, "noonscan.net", pageSize = 20, searchPageSize = 10) { override val isTagsExclusionSupported = false diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/es/InariPikav.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/es/InariPikav.kt index a9aeb0b2..056fbde3 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/es/InariPikav.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/es/InariPikav.kt @@ -1,12 +1,10 @@ package org.koitharu.kotatsu.parsers.site.mangareader.es -import org.koitharu.kotatsu.parsers.Broken import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.model.MangaParserSource import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser -@Broken @MangaSourceParser("INARIPIKAV", "InariPikav", "es") internal class InariPikav(context: MangaLoaderContext) : MangaReaderParser(context, MangaParserSource.INARIPIKAV, "inaripikav.org", pageSize = 10, searchPageSize = 10) { diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/fr/SushiScanFR.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/fr/SushiScanFR.kt index 8bfbb508..c8829f7b 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/fr/SushiScanFR.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/fr/SushiScanFR.kt @@ -7,4 +7,7 @@ import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser @MangaSourceParser("SUSHISCANFR", "SushiScan.fr", "fr") internal class SushiScanFR(context: MangaLoaderContext) : - MangaReaderParser(context, MangaParserSource.SUSHISCANFR, "sushiscan.fr", pageSize = 36, searchPageSize = 10) + MangaReaderParser(context, MangaParserSource.SUSHISCANFR, "sushiscan.fr", pageSize = 36, searchPageSize = 10) { + override val listUrl = "/catalogue" + override val isTagsExclusionSupported = false +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/DoujinDesuRip.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/DoujinDesuRip.kt index 8aad2eca..5a559d5c 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/DoujinDesuRip.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/DoujinDesuRip.kt @@ -8,6 +8,12 @@ import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser @MangaSourceParser("DOUJINDESURIP", "DoujinDesu.click", "id", ContentType.HENTAI) internal class DoujinDesuRip(context: MangaLoaderContext) : - MangaReaderParser(context, MangaParserSource.DOUJINDESURIP, "doujindesu.click", pageSize = 20, searchPageSize = 10) { + MangaReaderParser( + context, + MangaParserSource.DOUJINDESURIP, + "doujindesu.click", + pageSize = 20, + searchPageSize = 10, + ) { override val isTagsExclusionSupported = false } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Mangayaro.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Mangayaro.kt index 778a9a4d..5023411b 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Mangayaro.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Mangayaro.kt @@ -8,6 +8,12 @@ import java.util.* @MangaSourceParser("MANGAYARO", "MangaYaro", "id") internal class Mangayaro(context: MangaLoaderContext) : - MangaReaderParser(context, MangaParserSource.MANGAYARO, "mangayaro.id", pageSize = 20, searchPageSize = 20) { + MangaReaderParser( + context, + MangaParserSource.MANGAYARO, + "www.nowheartruth.com", + pageSize = 20, + searchPageSize = 20, + ) { override val sourceLocale: Locale = Locale.ENGLISH } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/MonzeeKomik.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/MonzeeKomik.kt index 66b6a5ac..8b9b9a90 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/MonzeeKomik.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/MonzeeKomik.kt @@ -8,7 +8,13 @@ import java.util.* @MangaSourceParser("MONZEEKOMIK", "MonzeeKomik", "id") internal class MonzeeKomik(context: MangaLoaderContext) : - MangaReaderParser(context, MangaParserSource.MONZEEKOMIK, "www.monzeekomik.my.id", pageSize = 30, searchPageSize = 10) { + MangaReaderParser( + context, + MangaParserSource.MONZEEKOMIK, + "www.monzeekomik.my.id", + pageSize = 30, + searchPageSize = 10, + ) { override val sourceLocale: Locale = Locale.ENGLISH override val isTagsExclusionSupported = false } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/th/ReaperTrans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/th/ReaperTrans.kt new file mode 100644 index 00000000..6758eccb --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/th/ReaperTrans.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.mangareader.th + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser +import java.util.Locale + +@MangaSourceParser("REAPERTRANS", "ReaperTrans", "th") +internal class ReaperTrans(context: MangaLoaderContext) : + MangaReaderParser(context, MangaParserSource.REAPERTRANS, "reapertrans.com", pageSize = 30, searchPageSize = 14) { + override val isTagsExclusionSupported = false + override val sourceLocale: Locale = Locale.ENGLISH +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt index ca852782..8e5951f1 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt @@ -186,17 +186,17 @@ internal abstract class NepnepParser( altTitle = null, state = when (doc.selectFirstOrThrow(".list-group-item:contains(Status:) a").text()) { "Ongoing (Scan)", "Ongoing (Publish)", - -> MangaState.ONGOING + -> MangaState.ONGOING "Complete (Scan)", "Complete (Publish)", - -> MangaState.FINISHED + -> MangaState.FINISHED "Cancelled (Scan)", "Cancelled (Publish)", "Discontinued (Scan)", "Discontinued (Publish)", - -> MangaState.ABANDONED + -> MangaState.ABANDONED "Hiatus (Scan)", "Hiatus (Publish)", - -> MangaState.PAUSED + -> MangaState.PAUSED else -> null }, diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenParser.kt index 649c7c4f..8d1350a9 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenParser.kt @@ -1,7 +1,6 @@ package org.koitharu.kotatsu.parsers.site.vi import androidx.collection.ArrayMap -import okhttp3.Headers import org.json.JSONArray import org.jsoup.nodes.Document import org.jsoup.nodes.Element @@ -25,9 +24,12 @@ class BlogTruyenParser(context: MangaLoaderContext) : override val availableSortOrders: Set get() = EnumSet.of(SortOrder.UPDATED) - override fun getRequestHeaders(): Headers = Headers.Builder() - .add("User-Agent", UserAgents.CHROME_DESKTOP) - .build() + override val userAgentKey = ConfigKey.UserAgent(UserAgents.CHROME_DESKTOP) + + override fun onCreateConfig(keys: MutableCollection>) { + super.onCreateConfig(keys) + keys.add(userAgentKey) + } override val isMultipleTagsSupported = false diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenVNParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenVNParser.kt index 9d7ee8e6..061340a7 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenVNParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/vi/BlogTruyenVNParser.kt @@ -1,7 +1,6 @@ package org.koitharu.kotatsu.parsers.site.vi import androidx.collection.ArrayMap -import okhttp3.Headers import org.json.JSONArray import org.jsoup.nodes.Document import org.jsoup.nodes.Element @@ -25,9 +24,12 @@ class BlogTruyenVNParser(context: MangaLoaderContext) : override val availableSortOrders: Set get() = EnumSet.of(SortOrder.UPDATED) - override fun getRequestHeaders(): Headers = Headers.Builder() - .add("User-Agent", UserAgents.CHROME_DESKTOP) - .build() + override val userAgentKey = ConfigKey.UserAgent(UserAgents.CHROME_DESKTOP) + + override fun onCreateConfig(keys: MutableCollection>) { + super.onCreateConfig(keys) + keys.add(userAgentKey) + } override val isMultipleTagsSupported = false diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt index e29ef129..eb454537 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/wpcomics/WpComicsParser.kt @@ -288,7 +288,7 @@ internal abstract class WpComicsParser( return when { d.endsWith(" ago") || d.endsWith(" trước") - -> parseRelativeDate(date) + -> parseRelativeDate(date) d.startsWith("year") -> Calendar.getInstance().apply { add(Calendar.DAY_OF_MONTH, -1) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/id/NgamenKomik.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/id/NgamenKomik.kt new file mode 100644 index 00000000..ccdbc555 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/id/NgamenKomik.kt @@ -0,0 +1,10 @@ +package org.koitharu.kotatsu.parsers.site.zeistmanga.id + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser + +@MangaSourceParser("NGAMENKOMIK", "NgamenKomik", "id") +internal class NgamenKomik(context: MangaLoaderContext) : + ZeistMangaParser(context, MangaParserSource.NGAMENKOMIK, "ngamenkomik05.blogspot.com")