From 10e1eb8aac9cbcaa00c7a395e1e345db41438153 Mon Sep 17 00:00:00 2001 From: devi Date: Mon, 21 Aug 2023 10:33:47 +0200 Subject: [PATCH 1/4] add source and move Manga4Life to tempalte parser and fix url Duniakomik --- .../parsers/site/madara/vi/Mi2Manga.kt | 16 ++++++++++++ .../parsers/site/mangareader/id/Duniakomik.kt | 2 +- .../Manga4Life.kt => nepnep/NepnepParser.kt} | 26 ++++++++++--------- .../parsers/site/nepnep/en/Manga4Life.kt | 10 +++++++ .../parsers/site/nepnep/en/MangaSee.kt | 10 +++++++ 5 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Mi2Manga.kt rename src/main/kotlin/org/koitharu/kotatsu/parsers/site/{en/Manga4Life.kt => nepnep/NepnepParser.kt} (93%) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/Manga4Life.kt create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/MangaSee.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Mi2Manga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Mi2Manga.kt new file mode 100644 index 00000000..6124ae06 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/vi/Mi2Manga.kt @@ -0,0 +1,16 @@ +package org.koitharu.kotatsu.parsers.site.madara.vi + + +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.madara.MadaraParser + + +@MangaSourceParser("MI2MANGA", "Mi2Manga", "vi") +internal class Mi2Manga(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.MI2MANGA, "www.mi2manga2.com"){ + override val listUrl = "truyen-tranh/" + override val tagPrefix = "the-loai/" + override val datePattern = "d MMMM, yyyy" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Duniakomik.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Duniakomik.kt index ce2f5f92..dfeb89fa 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Duniakomik.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/id/Duniakomik.kt @@ -8,7 +8,7 @@ import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser @MangaSourceParser("DUNIAKOMIK", "Duniakomik", "id", ContentType.HENTAI) internal class Duniakomik(context: MangaLoaderContext) : - MangaReaderParser(context, MangaSource.DUNIAKOMIK, "duniakomik.id", pageSize = 12, searchPageSize = 12) { + MangaReaderParser(context, MangaSource.DUNIAKOMIK, "duniakomik.org", pageSize = 12, searchPageSize = 12) { override val datePattern = "MMM d, yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/Manga4Life.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt similarity index 93% rename from src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/Manga4Life.kt rename to src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt index 82feb89e..e0e7127d 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/en/Manga4Life.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt @@ -1,11 +1,10 @@ -package org.koitharu.kotatsu.parsers.site.en +package org.koitharu.kotatsu.parsers.site.nepnep import okhttp3.Headers import org.json.JSONArray import org.json.JSONObject import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaParser -import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.config.ConfigKey import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.network.UserAgents @@ -16,13 +15,16 @@ import org.koitharu.kotatsu.parsers.util.json.toJSONList import java.text.SimpleDateFormat import java.util.* +internal abstract class NepnepParser( + context: MangaLoaderContext, + source: MangaSource, + domain: String, + ) : MangaParser(context, source) { -@MangaSourceParser("MANGA4LIFE", "Manga4Life", "en") -internal class Manga4Life(context: MangaLoaderContext) : MangaParser(context, MangaSource.MANGA4LIFE) { + override val configKeyDomain = ConfigKey.Domain(domain) override val sortOrders: Set = EnumSet.of(SortOrder.ALPHABETICAL) - override val configKeyDomain = ConfigKey.Domain("manga4life.com") override val headers: Headers = Headers.Builder() .add("User-Agent", UserAgents.CHROME_DESKTOP) @@ -242,14 +244,14 @@ internal class Manga4Life(context: MangaLoaderContext) : MangaParser(context, Ma ) val pageTotal = curChapter.getString("Page")!!.toInt() val host = "https://" + - script - .substringAfter("vm.CurPathName = \"", "") - .substringBefore('"') - .also { - if (it.isEmpty()) { - throw Exception("Manga4Life is overloaded and blocking Tachiyomi right now. Wait for unblock.") + script + .substringAfter("vm.CurPathName = \"", "") + .substringBefore('"') + .also { + if (it.isEmpty()) { + throw Exception("Manga4Life is overloaded and blocking kotatsu right now. Wait for unblock.") + } } - } val titleURI = script.substringAfter("vm.IndexName = \"").substringBefore("\"") val seasonURI = curChapter.getString("Directory")!! .let { if (it.isEmpty()) "" else "$it/" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/Manga4Life.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/Manga4Life.kt new file mode 100644 index 00000000..6c1fb6d9 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/Manga4Life.kt @@ -0,0 +1,10 @@ +package org.koitharu.kotatsu.parsers.site.nepnep.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.nepnep.NepnepParser + +@MangaSourceParser("MANGA4LIFE", "Manga4Life", "en") +internal class Manga4Life(context: MangaLoaderContext) : + NepnepParser(context, MangaSource.MANGA4LIFE, "manga4life.com") diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/MangaSee.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/MangaSee.kt new file mode 100644 index 00000000..3bca7eca --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/en/MangaSee.kt @@ -0,0 +1,10 @@ +package org.koitharu.kotatsu.parsers.site.nepnep.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.nepnep.NepnepParser + +@MangaSourceParser("MANGASEE", "MangaSee", "en") +internal class MangaSee(context: MangaLoaderContext) : + NepnepParser(context, MangaSource.MANGASEE, "mangasee123.com") From 8c291e274dd2c90638ac34a22eb24e11780b032d Mon Sep 17 00:00:00 2001 From: devi Date: Mon, 21 Aug 2023 10:36:38 +0200 Subject: [PATCH 2/4] nothing --- .../koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 e0e7127d..11f520c4 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 @@ -16,10 +16,10 @@ import java.text.SimpleDateFormat import java.util.* internal abstract class NepnepParser( - context: MangaLoaderContext, - source: MangaSource, - domain: String, - ) : MangaParser(context, source) { + context: MangaLoaderContext, + source: MangaSource, + domain: String, +) : MangaParser(context, source) { override val configKeyDomain = ConfigKey.Domain(domain) From 155a91a13d3b1a3bb014f4083129f599e5d32cf2 Mon Sep 17 00:00:00 2001 From: devi Date: Mon, 21 Aug 2023 12:19:54 +0200 Subject: [PATCH 3/4] add Mangarbic --- .../kotatsu/parsers/site/madara/ar/Mangarbic.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/Mangarbic.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/Mangarbic.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/Mangarbic.kt new file mode 100644 index 00000000..9ae000fa --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/ar/Mangarbic.kt @@ -0,0 +1,13 @@ +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.MangaSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@MangaSourceParser("MANGARBIC", "Mangarbic", "ar") +internal class Mangarbic(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.MANGARBIC, "mangarabic.com") { + override val postreq = true + override val datePattern = "yyyy/MM/dd" +} From 7f1cd30ce8ed774e7c06ec82bddcf29492b204b9 Mon Sep 17 00:00:00 2001 From: devi Date: Mon, 21 Aug 2023 20:49:36 +0200 Subject: [PATCH 4/4] change domaine for QueenScans --- .../kotatsu/parsers/site/mangareader/en/QueenScans.kt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/QueenScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/QueenScans.kt index 1a2d2554..dc6d11d6 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/QueenScans.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/QueenScans.kt @@ -7,8 +7,4 @@ import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser @MangaSourceParser("QUEENSCANS", "QueenScans", "en") internal class QueenScans(context: MangaLoaderContext) : - MangaReaderParser(context, MangaSource.QUEENSCANS, "queenscans.com", pageSize = 30, searchPageSize = 10) { - - override val listUrl = "/comics" - override val datePattern = "MMM d, yyyy" -} + MangaReaderParser(context, MangaSource.QUEENSCANS, "fairymanga.com", pageSize = 20, searchPageSize = 10)