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 000000000..9ae000fa4 --- /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" +} 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 000000000..6124ae06d --- /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/en/QueenScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/en/QueenScans.kt index 1a2d25546..dc6d11d6a 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) 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 ce2f5f926..dfeb89fa6 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 82feb89ed..11f520c48 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 000000000..6c1fb6d93 --- /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 000000000..3bca7eca8 --- /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")