diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/AlliedFansub.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/AlliedFansub.kt new file mode 100644 index 00000000..1bcb2734 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/AlliedFansub.kt @@ -0,0 +1,15 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +import org.koitharu.kotatsu.parsers.Broken +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.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@Broken +@MangaSourceParser("ALLIED_FANSUB", "AlliedFansub", "tr", ContentType.HENTAI) +internal class AlliedFansub(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.ALLIED_FANSUB, "alliedfansub.net", 20) { + override val datePattern = "dd/MM/yyyy" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/DeccalScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/DeccalScans.kt new file mode 100644 index 00000000..cd24749f --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/DeccalScans.kt @@ -0,0 +1,15 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +import org.koitharu.kotatsu.parsers.Broken +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.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@Broken +@MangaSourceParser("DECCALSCANS", "DeccalScans", "tr", ContentType.HENTAI) +internal class DeccalScans(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.DECCALSCANS, "fuchscans.com") { + override val tagPrefix = "turler/" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/EsoManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/EsoManga.kt new file mode 100644 index 00000000..6607d0e9 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/EsoManga.kt @@ -0,0 +1,16 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +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("ESOMANGA", "EsoManga", "tr") +internal class EsoManga(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.ESOMANGA, "esomanga.com", 10) { + override val postReq = true + override val datePattern = "dd/MM/yyyy" + override val tagPrefix = "manga-kategoriler/" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/GhostFansub.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/GhostFansub.kt new file mode 100644 index 00000000..9147389a --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/GhostFansub.kt @@ -0,0 +1,13 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +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 // Redirect to @GRIMELEK +@MangaSourceParser("GHOSTFANSUB", "GhostFansub", "tr") +internal class GhostFansub(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.GHOSTFANSUB, "ghostfansub.co", 18) +// you now need to log in to access content \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ImparatorManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ImparatorManga.kt new file mode 100644 index 00000000..c665260e --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ImparatorManga.kt @@ -0,0 +1,10 @@ +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.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@MangaSourceParser("IMPARATORMANGA", "ImparatorManga", "tr") +internal class ImparatorManga(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.IMPARATORMANGA, "www.imparatormanga.com") \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Mangaoku.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Mangaoku.kt new file mode 100644 index 00000000..abf57a4d --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/Mangaoku.kt @@ -0,0 +1,16 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +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("MANGAOKU", "Mangaoku", "tr") +internal class Mangaoku(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.MANGAOKU, "mangaoku.info", 24) { + override val datePattern = "dd MMMM yyyy" + override val listUrl = "seri/" + override val tagPrefix = "tur/" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/NabiScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/NabiScans.kt new file mode 100644 index 00000000..4161cdcb --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/NabiScans.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.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +@MangaSourceParser("NABISCANS", "NabiScans", "tr") +internal class NabiScans(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.NABISCANS, "nabiscans.com") { + override val datePattern = "d MMMM yyyy" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ViyaFansub.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ViyaFansub.kt new file mode 100644 index 00000000..c5b921fb --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ViyaFansub.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +import org.koitharu.kotatsu.parsers.Broken +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.MangaParserSource +import org.koitharu.kotatsu.parsers.site.madara.MadaraParser + +//Manga +18 require login. +@Broken +@MangaSourceParser("VIYAFANSUB", "ViyaFansub", "tr", ContentType.HENTAI) +internal class ViyaFansub(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.VIYAFANSUB, "viyafansub.com") \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/YaoiTr.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/YaoiTr.kt new file mode 100644 index 00000000..c49a2837 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/YaoiTr.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +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("YAOITR", "YaoiTr", "tr") +internal class YaoiTr(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.YAOITR, "yaoitr.fun", 16) { + override val datePattern = "d MMMM yyyy" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ZamanManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ZamanManga.kt new file mode 100644 index 00000000..6ca73907 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/tr/ZamanManga.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.parsers.site.madara.tr + +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("ZAMANMANGA", "ZamanManga", "tr") +internal class ZamanManga(context: MangaLoaderContext) : + MadaraParser(context, MangaParserSource.ZAMANMANGA, "zamanmanga.com") { + override val datePattern = "dd MMMM yyyy" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/MangaKazani.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/MangaKazani.kt new file mode 100644 index 00000000..83bba3ce --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/MangaKazani.kt @@ -0,0 +1,12 @@ +package org.koitharu.kotatsu.parsers.site.mangareader.tr + +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 + +@MangaSourceParser("MANGAKAZANI", "MangaKazani", "tr") +internal class MangaKazani(context: MangaLoaderContext) : + MangaReaderParser(context, MangaParserSource.MANGAKAZANI, "mangakazani.com", pageSize = 19, searchPageSize = 10) { + override val listUrl = "/seriler" +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/MangaSiginagi.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/MangaSiginagi.kt new file mode 100644 index 00000000..6329e07f --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/MangaSiginagi.kt @@ -0,0 +1,10 @@ +package org.koitharu.kotatsu.parsers.site.mangareader.tr + +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 + +@MangaSourceParser("MANGASIGINAGI", "MangaSiginagi", "tr") +internal class MangaSiginagi(context: MangaLoaderContext) : + MangaReaderParser(context, MangaParserSource.MANGASIGINAGI, "mangasiginagi.com", pageSize = 20, searchPageSize = 10) \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/NyxManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/NyxManga.kt new file mode 100644 index 00000000..4cdb4c48 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/NyxManga.kt @@ -0,0 +1,18 @@ +package org.koitharu.kotatsu.parsers.site.mangareader.tr + +import org.koitharu.kotatsu.parsers.Broken +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaListFilterCapabilities +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser + +@Broken +@MangaSourceParser("NYXMANGA", "NyxManga", "tr") +internal class NyxManga(context: MangaLoaderContext) : + MangaReaderParser(context, MangaParserSource.NYXMANGA, "nyxmanga.com", pageSize = 14, searchPageSize = 10) { + override val filterCapabilities: MangaListFilterCapabilities + get() = super.filterCapabilities.copy( + isTagsExclusionSupported = false, + ) +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/PrunusScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/PrunusScans.kt new file mode 100644 index 00000000..32122510 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/PrunusScans.kt @@ -0,0 +1,10 @@ +package org.koitharu.kotatsu.parsers.site.mangareader.tr + +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 + +@MangaSourceParser("PRUNUSSCANS", "PrunusScans", "tr") +internal class PrunusScans(context: MangaLoaderContext) : + MangaReaderParser(context, MangaParserSource.PRUNUSSCANS, "prunusscans.com", pageSize = 20, searchPageSize = 10) \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/RobinManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/RobinManga.kt new file mode 100644 index 00000000..9309d1d5 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/tr/RobinManga.kt @@ -0,0 +1,22 @@ +package org.koitharu.kotatsu.parsers.site.mangareader.tr + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaListFilterCapabilities +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser + +@MangaSourceParser("ROBINMANGA", "RobinManga", "tr") +internal class RobinManga(context: MangaLoaderContext) : + MangaReaderParser( + context, + MangaParserSource.ROBINMANGA, + "www.guildknives.com", + pageSize = 20, + searchPageSize = 25, + ) { + override val filterCapabilities: MangaListFilterCapabilities + get() = super.filterCapabilities.copy( + isTagsExclusionSupported = false, + ) +} \ No newline at end of file diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/tr/EpikMan.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/tr/EpikMan.kt new file mode 100644 index 00000000..576f5f1e --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/zeistmanga/tr/EpikMan.kt @@ -0,0 +1,30 @@ +package org.koitharu.kotatsu.parsers.site.zeistmanga.tr + +import org.koitharu.kotatsu.parsers.MangaLoaderContext +import org.koitharu.kotatsu.parsers.MangaSourceParser +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.model.MangaTag +import org.koitharu.kotatsu.parsers.site.zeistmanga.ZeistMangaParser +import org.koitharu.kotatsu.parsers.util.domain +import org.koitharu.kotatsu.parsers.util.mapToSet +import org.koitharu.kotatsu.parsers.util.parseHtml +import org.koitharu.kotatsu.parsers.util.requireElementById + +@MangaSourceParser("EPIKMAN", "EpikMan", "tr") +internal class EpikMan(context: MangaLoaderContext) : + ZeistMangaParser(context, MangaParserSource.EPIKMAN, "www.epikman.ga") { + override val sateOngoing = "Devam Ediyor" + override val sateFinished = "Tamamlandı" + override val mangaCategory = "Seri" + + override suspend fun fetchAvailableTags(): Set { + val doc = webClient.httpGet("https://$domain").parseHtml() + return doc.requireElementById("LinkList1").select("ul li a").mapToSet { + MangaTag( + key = it.attr("href").substringBefore("?").substringAfterLast('/'), + title = it.text(), + source = source, + ) + } + } +} \ No newline at end of file