diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/NvManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/NvManga.kt new file mode 100644 index 00000000..a5d20296 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/NvManga.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.madara.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.madara.MadaraParser + +@MangaSourceParser("NVMANGA", "NvManga", "en") +internal class NvManga(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.NVMANGA, "nvmanga.com") { + override val datePattern = "dd/MM/yyyy" + override val tagPrefix = "genre/" + override val listUrl = "webtoon/" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MhScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MhScans.kt new file mode 100644 index 00000000..6eaf62d8 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MhScans.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.MangaSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@MangaSourceParser("MHSCANS", "MhScans", "es") +internal class MhScans(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.MHSCANS, "mhscans.com") { + override val datePattern = "d 'de' MMMMM 'de' yyyy" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DianxiaTrads.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DianxiaTrads.kt new file mode 100644 index 00000000..452e090b --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DianxiaTrads.kt @@ -0,0 +1,13 @@ +package org.koitharu.kotatsu.parsers.site.madara.pt + +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("DIANXIATRADS", "Dianxia Trads", "pt") +internal class DianxiaTrads(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.DIANXIATRADS, "dianxiatrads.com", 10) { + + override val datePattern: String = "dd/MM/yyyy" +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Webtoonevreni.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Webtoonevreni.kt new file mode 100644 index 00000000..f92ee182 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Webtoonevreni.kt @@ -0,0 +1,12 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + + +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("WEBTOONEVRENI", "Webtoonevreni", "tr") +internal class Webtoonevreni(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.WEBTOONEVRENI, "webtoonevreni.net", 10) diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/manga18/zh/Hanman18.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/manga18/zh/Hanman18.kt new file mode 100644 index 00000000..b96bec34 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/manga18/zh/Hanman18.kt @@ -0,0 +1,32 @@ +package org.koitharu.kotatsu.parsers.site.manga18.zh + +import org.jsoup.nodes.Document +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.* +import org.koitharu.kotatsu.parsers.site.manga18.Manga18Parser +import org.koitharu.kotatsu.parsers.util.* + +@MangaSourceParser("HANMAN18", "Hanman18", "zh", ContentType.HENTAI) +internal class Hanman18(context: MangaLoaderContext) : + Manga18Parser(context, MangaSource.HANMAN18, "hanman18.com") { + + override suspend fun getChapters(manga: Manga, doc: Document): List { + return doc.body().select(selectChapter).mapChapters(reversed = true) { i, li -> + val a = li.selectFirstOrThrow("a") + val href = a.attrAsRelativeUrl("href") + MangaChapter( + id = generateUid(href), + name = a.text(), + number = i + 1, + url = href, + uploadDate = 0, + source = source, + scanlator = null, + branch = null, + ) + } + } + + override suspend fun getTags(): Set = emptySet() // search by tag does not work +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangabox/en/MangaNeloCom.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangabox/en/MangaNeloCom.kt new file mode 100644 index 00000000..c761418f --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangabox/en/MangaNeloCom.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.mangabox.en + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.config.ConfigKey +import org.koitharu.kotatsu.parsers.model.* +import org.koitharu.kotatsu.parsers.site.mangabox.MangaboxParser + +@MangaSourceParser("MANGANELO_COM", "MangaNelo Com", "en") +internal class MangaNeloCom(context: MangaLoaderContext) : + MangaboxParser(context, MangaSource.MANGANELO_COM) { + override val configKeyDomain = ConfigKey.Domain("m.manganelo.com", "chapmanganelo.com") + override val otherDomain = "chapmanganelo.com" +}