Fix sources titles
This commit is contained in:
@@ -121,6 +121,8 @@ class ParserProcessor(
|
||||
private val factoryWriter: Writer?,
|
||||
) : KSVisitorVoid() {
|
||||
|
||||
private val titles = HashMap<String, String>()
|
||||
|
||||
override fun visitClassDeclaration(classDeclaration: KSClassDeclaration, data: Unit) {
|
||||
if (classDeclaration.classKind != ClassKind.CLASS || classDeclaration.isAbstract()) {
|
||||
logger.error("Only non-abstract can be annotated with @MangaSourceParser", classDeclaration)
|
||||
@@ -149,7 +151,13 @@ class ParserProcessor(
|
||||
classDeclaration,
|
||||
)
|
||||
}
|
||||
val className = classDeclaration.qualifiedName?.asString()
|
||||
val className = checkNotNull(classDeclaration.qualifiedName?.asString()) { "Class name is null" }
|
||||
|
||||
val prevTitleClass = titles.put(title, className)
|
||||
if (prevTitleClass != null) {
|
||||
logger.warn("Source title duplication: \"$title\" is assigned to both $prevTitleClass and $className")
|
||||
}
|
||||
|
||||
factoryWriter?.write("\tMangaSource.$name -> $className(context)\n")
|
||||
val deprecationString = if (deprecation != null) {
|
||||
val reason = deprecation.arguments
|
||||
|
||||
@@ -13,6 +13,7 @@ annotation class MangaSourceParser(
|
||||
val name: String,
|
||||
/**
|
||||
* User-friendly title of manga source. In most case equals the website name.
|
||||
* Avoid extra whitespaces between the words if it is not required.
|
||||
*/
|
||||
val title: String,
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.koitharu.kotatsu.parsers.model.*
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("HENTAIFOX", "Hentai Fox", type = ContentType.HENTAI)
|
||||
@MangaSourceParser("HENTAIFOX", "HentaiFox", type = ContentType.HENTAI)
|
||||
internal class HentaiFox(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.HENTAIFOX, 20) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED)
|
||||
|
||||
@@ -270,25 +270,25 @@ internal abstract class LineWebtoonsParser(
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_EN", "Line Webtoons English", "en", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_EN", "LineWebtoons English", "en", type = ContentType.MANGA)
|
||||
class English(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_EN)
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_ZH", "Line Webtoons Chinese", "zh", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_ZH", "LineWebtoons Chinese", "zh", type = ContentType.MANGA)
|
||||
class Chinese(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_ZH)
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_TH", "Line Webtoons Thai", "th", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_TH", "LineWebtoons Thai", "th", type = ContentType.MANGA)
|
||||
class Thai(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_TH)
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_ID", "Line Webtoons Indonesian", "id", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_ID", "LineWebtoons Indonesian", "id", type = ContentType.MANGA)
|
||||
class Indonesian(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_ID)
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_ES", "Line Webtoons Spanish", "es", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_ES", "LineWebtoons Spanish", "es", type = ContentType.MANGA)
|
||||
class Spanish(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_ES)
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_FR", "Line Webtoons French", "fr", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_FR", "LineWebtoons French", "fr", type = ContentType.MANGA)
|
||||
class French(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_FR)
|
||||
|
||||
@MangaSourceParser("LINEWEBTOONS_DE", "Line Webtoons German", "de", type = ContentType.MANGA)
|
||||
@MangaSourceParser("LINEWEBTOONS_DE", "LineWebtoons German", "de", type = ContentType.MANGA)
|
||||
class German(context: MangaLoaderContext) : LineWebtoonsParser(context, MangaSource.LINEWEBTOONS_DE)
|
||||
|
||||
private inner class WebtoonsUrlSigner(private val secret: String) {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.EnumSet
|
||||
import java.util.Locale
|
||||
|
||||
|
||||
@MangaSourceParser("PAPSCAN", "Pap Scan", "fr")
|
||||
@MangaSourceParser("PAPSCAN", "PapScan", "fr")
|
||||
internal class PapScan(context: MangaLoaderContext) :
|
||||
AnimeBootstrapParser(context, MangaSource.PAPSCAN, "papscan.com") {
|
||||
|
||||
|
||||
@@ -7,6 +7,6 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.animebootstrap.AnimeBootstrapParser
|
||||
|
||||
|
||||
@MangaSourceParser("NEUMANGA", "Neu Manga", "id")
|
||||
@MangaSourceParser("NEUMANGA", "NeuManga", "id")
|
||||
internal class NeuManga(context: MangaLoaderContext) :
|
||||
AnimeBootstrapParser(context, MangaSource.NEUMANGA, "neumanga.xyz")
|
||||
|
||||
@@ -6,6 +6,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.animebootstrap.AnimeBootstrapParser
|
||||
|
||||
@MangaSourceParser("SEKTEKOMIK", "Sekte Komik", "id")
|
||||
@MangaSourceParser("SEKTEKOMIK", "SekteKomik", "id")
|
||||
internal class SekteKomik(context: MangaLoaderContext) :
|
||||
AnimeBootstrapParser(context, MangaSource.SEKTEKOMIK, "sektekomik.xyz")
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.koitharu.kotatsu.parsers.util.json.mapJSONIndexed
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("FLIXSCANS", "Flix Scans", "ar")
|
||||
@MangaSourceParser("FLIXSCANS", "FlixScans", "ar")
|
||||
internal class FlixScans(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.FLIXSCANS, 18) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED)
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.koitharu.kotatsu.parsers.network.UserAgents
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("MANGASTORM", "Manga Storm", "ar")
|
||||
@MangaSourceParser("MANGASTORM", "MangaStorm", "ar")
|
||||
internal class MangaStorm(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.MANGASTORM, 30) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.POPULARITY)
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.koitharu.kotatsu.parsers.model.*
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("CLONEMANGA", "Clone Manga", "en")
|
||||
@MangaSourceParser("CLONEMANGA", "CloneManga", "en")
|
||||
internal class CloneMangaParser(context: MangaLoaderContext) : MangaParser(context, MangaSource.CLONEMANGA) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = Collections.singleton(
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("COMICEXTRA", "Comic Extra", "en")
|
||||
@MangaSourceParser("COMICEXTRA", "ComicExtra", "en")
|
||||
internal class ComicExtra(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.COMICEXTRA, 25) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.POPULARITY, SortOrder.UPDATED, SortOrder.NEWEST)
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("DYNASTYSCANS", "Dynasty Scans", "en")
|
||||
@MangaSourceParser("DYNASTYSCANS", "DynastyScans", "en")
|
||||
internal class DynastyScans(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.DYNASTYSCANS, 117) {
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.ALPHABETICAL)
|
||||
override val configKeyDomain = ConfigKey.Domain("dynasty-scans.com")
|
||||
|
||||
@@ -17,7 +17,7 @@ import org.koitharu.kotatsu.parsers.util.json.mapJSON
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("KSKMOE", "Ksk .Moe", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("KSKMOE", "Ksk.moe", "en", ContentType.HENTAI)
|
||||
internal class KskMoe(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.KSKMOE, 35) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> =
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.text.DateFormat
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("LIKEMANGA", "Like Manga", "en")
|
||||
@MangaSourceParser("LIKEMANGA", "LikeManga", "en")
|
||||
internal class LikeManga(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.LIKEMANGA, 36) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED, SortOrder.POPULARITY, SortOrder.NEWEST)
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("MANGAGEKO", "Manga Geko", "en")
|
||||
@MangaSourceParser("MANGAGEKO", "MangaGeko", "en")
|
||||
internal class MangaGeko(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.MANGAGEKO, 30) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.POPULARITY, SortOrder.UPDATED, SortOrder.NEWEST)
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.text.DateFormat
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("MANGATOWN", "Manga Town", "en")
|
||||
@MangaSourceParser("MANGATOWN", "MangaTown", "en")
|
||||
internal class MangaTownParser(context: MangaLoaderContext) : MangaParser(context, MangaSource.MANGATOWN) {
|
||||
|
||||
override val configKeyDomain = ConfigKey.Domain("www.mangatown.com")
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.koitharu.kotatsu.parsers.util.json.mapJSON
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("MANGAOWL", "Manga Owl .To", "en")
|
||||
@MangaSourceParser("MANGAOWL", "MangaOwl.to", "en")
|
||||
internal class Mangaowl(context: MangaLoaderContext) :
|
||||
PagedMangaParser(context, MangaSource.MANGAOWL, pageSize = 24) {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.koitharu.kotatsu.parsers.model.*
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("MANHWA18", "Manhwa 18", "en", type = ContentType.HENTAI)
|
||||
@MangaSourceParser("MANHWA18", "Manhwa18", "en", type = ContentType.HENTAI)
|
||||
class Manhwa18Parser(context: MangaLoaderContext) :
|
||||
PagedMangaParser(context, MangaSource.MANHWA18, pageSize = 18, searchPageSize = 18) {
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.koitharu.kotatsu.parsers.site.fmreader.FmreaderParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
@MangaSourceParser("MANHWA18COM", "Manhwa 18 .Com", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("MANHWA18COM", "Manhwa18.com", "en", ContentType.HENTAI)
|
||||
internal class Manhwa18Com(context: MangaLoaderContext) :
|
||||
FmreaderParser(context, MangaSource.MANHWA18COM, "manhwa18.com") {
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.*
|
||||
import org.koitharu.kotatsu.parsers.site.fmreader.FmreaderParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
|
||||
@MangaSourceParser("OLIMPOSCANS", "Olimpo Scans", "es")
|
||||
@MangaSourceParser("OLIMPOSCANS", "OlimpoScans", "es")
|
||||
internal class OlimpoScans(context: MangaLoaderContext) :
|
||||
FmreaderParser(context, MangaSource.OLIMPOSCANS, "olimposcans.com") {
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.koitharu.kotatsu.parsers.site.fmreader.FmreaderParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
@MangaSourceParser("WELOVEMANGA", "We Love Manga", "ja")
|
||||
@MangaSourceParser("WELOVEMANGA", "WeLoveManga", "ja")
|
||||
internal class WeLoveManga(context: MangaLoaderContext) :
|
||||
FmreaderParser(context, MangaSource.WELOVEMANGA, "welovemanga.one") {
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.koitharu.kotatsu.parsers.model.*
|
||||
import org.koitharu.kotatsu.parsers.site.foolslide.FoolSlideParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
|
||||
@MangaSourceParser("ASSORTEDSCANS", "Assorted Scans", "en")
|
||||
@MangaSourceParser("ASSORTEDSCANS", "AssortedScans", "en")
|
||||
internal class AssortedScans(context: MangaLoaderContext) :
|
||||
FoolSlideParser(context, MangaSource.ASSORTEDSCANS, "assortedscans.com", 56) {
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.foolslide.FoolSlideParser
|
||||
|
||||
@MangaSourceParser("DEATHTOLLSCANS", "Death Toll Scans", "en")
|
||||
@MangaSourceParser("DEATHTOLLSCANS", "DeathTollScans", "en")
|
||||
internal class Deathtollscans(context: MangaLoaderContext) :
|
||||
FoolSlideParser(context, MangaSource.DEATHTOLLSCANS, "reader.deathtollscans.net", 26)
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.foolslide.FoolSlideParser
|
||||
|
||||
|
||||
@MangaSourceParser("POWERMANGA", "Power Manga", "it")
|
||||
@MangaSourceParser("POWERMANGA", "PowerManga", "it")
|
||||
internal class PowerManga(context: MangaLoaderContext) :
|
||||
FoolSlideParser(context, MangaSource.POWERMANGA, "reader.powermanga.org") {
|
||||
override val pagination = false
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.foolslide.FoolSlideParser
|
||||
|
||||
|
||||
@MangaSourceParser("RAMAREADER", "Rama Reader", "it")
|
||||
@MangaSourceParser("RAMAREADER", "RamaReader", "it")
|
||||
internal class Ramareader(context: MangaLoaderContext) :
|
||||
FoolSlideParser(context, MangaSource.RAMAREADER, "www.ramareader.it") {
|
||||
override val searchUrl = "read/search/"
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.foolslide.FoolSlideParser
|
||||
|
||||
|
||||
@MangaSourceParser("READNIFTEAM", "Read Nif Team", "it")
|
||||
@MangaSourceParser("READNIFTEAM", "ReadNifTeam", "it")
|
||||
internal class ReadNifteam(context: MangaLoaderContext) :
|
||||
FoolSlideParser(context, MangaSource.READNIFTEAM, "read-nifteam.info") {
|
||||
override val searchUrl = "slide/search/"
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import org.koitharu.kotatsu.parsers.util.json.getIntOrDefault
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("BENTOMANGA", "Bento Manga", "fr")
|
||||
@MangaSourceParser("BENTOMANGA", "BentoManga", "fr")
|
||||
internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.BENTOMANGA, 10) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.text.DateFormat
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("FURYOSOCIETY", "Furyo Society", "fr")
|
||||
@MangaSourceParser("FURYOSOCIETY", "FuryoSociety", "fr")
|
||||
internal class FuryoSociety(context: MangaLoaderContext) :
|
||||
PagedMangaParser(context, MangaSource.FURYOSOCIETY, 0) {
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.koitharu.kotatsu.parsers.util.json.mapJSON
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("LEGACY_SCANS", "Legacy Scans", "fr")
|
||||
@MangaSourceParser("LEGACY_SCANS", "LegacyScans", "fr")
|
||||
internal class LegacyScansParser(context: MangaLoaderContext) :
|
||||
PagedMangaParser(context, MangaSource.LEGACY_SCANS, 18) {
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("LIRESCAN", "Lire Scan", "fr")
|
||||
@MangaSourceParser("LIRESCAN", "LireScan", "fr")
|
||||
internal class LireScan(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.LIRESCAN, 20) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(SortOrder.UPDATED)
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.lang.IllegalArgumentException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("LUGNICASCANS", "Lugnica Scans", "fr")
|
||||
@MangaSourceParser("LUGNICASCANS", "LugnicaScans", "fr")
|
||||
internal class LugnicaScans(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.LUGNICASCANS, 10) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.koitharu.kotatsu.parsers.network.UserAgents
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("SCANS_MANGAS_ME", "Scans Mangas .Me", "fr")
|
||||
@MangaSourceParser("SCANS_MANGAS_ME", "ScansMangas.me", "fr")
|
||||
internal class ScansMangasMe(context: MangaLoaderContext) :
|
||||
PagedMangaParser(context, MangaSource.SCANS_MANGAS_ME, 0) {
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("SCANTRADUNION", "Scantrad Union", "fr")
|
||||
@MangaSourceParser("SCANTRADUNION", "ScantradUnion", "fr")
|
||||
internal class ScantradUnion(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.SCANTRADUNION, 10) {
|
||||
|
||||
override val sortOrders: Set<SortOrder> = EnumSet.of(
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.koitharu.kotatsu.parsers.util.json.mapJSON
|
||||
import org.koitharu.kotatsu.parsers.util.parseJson
|
||||
import org.koitharu.kotatsu.parsers.util.urlEncoded
|
||||
|
||||
@MangaSourceParser("YUGEN_MANGAS_ES", "Yugen Mangas", "es", ContentType.HENTAI)
|
||||
@MangaSourceParser("YUGEN_MANGAS_ES", "YugenMangas", "es", ContentType.HENTAI)
|
||||
internal class YugenMangasEs(context: MangaLoaderContext) :
|
||||
HeanCms(context, MangaSource.YUGEN_MANGAS_ES, "yugenmangas.lat") {
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.heancms.HeanCms
|
||||
|
||||
@MangaSourceParser("PERF_SCAN", "Perf Scan", "fr")
|
||||
@MangaSourceParser("PERF_SCAN", "PerfScan", "fr")
|
||||
internal class PerfScan(context: MangaLoaderContext) :
|
||||
HeanCms(context, MangaSource.PERF_SCAN, "perf-scan.fr")
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.config.ConfigKey
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.heancms.HeanCms
|
||||
|
||||
@MangaSourceParser("REAPERSCANSPT", "Reaper Scans", "pt")
|
||||
@MangaSourceParser("REAPERSCANSPT", "ReaperScans", "pt")
|
||||
internal class ReaperScansPt(context: MangaLoaderContext) :
|
||||
HeanCms(context, MangaSource.REAPERSCANSPT, "reaperscans.net") {
|
||||
override val configKeyDomain = ConfigKey.Domain("reaperscans.net", "reaperbr.online")
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.heancmsalt.HeanCmsAlt
|
||||
|
||||
@MangaSourceParser("LEGIONSCANS", "Cerberus Series", "es")
|
||||
@MangaSourceParser("LEGIONSCANS", "CerberusSeries", "es")
|
||||
internal class CerberuSeries(context: MangaLoaderContext) :
|
||||
HeanCmsAlt(context, MangaSource.LEGIONSCANS, "cerberuseries.xyz")
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.heancmsalt.HeanCmsAlt
|
||||
|
||||
@MangaSourceParser("MANGAESP", "Manga Esp", "es")
|
||||
@MangaSourceParser("MANGAESP", "MangaEsp", "es")
|
||||
internal class MangaEsp(context: MangaLoaderContext) :
|
||||
HeanCmsAlt(context, MangaSource.MANGAESP, "mangaesp.co", 15) {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("DOUJINDESU", "Doujin Desu", "id")
|
||||
@MangaSourceParser("DOUJINDESU", "DoujinDesu", "id")
|
||||
class DoujinDesuParser(context: MangaLoaderContext) : PagedMangaParser(context, MangaSource.DOUJINDESU, pageSize = 18) {
|
||||
|
||||
override val configKeyDomain: ConfigKey.Domain
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.*
|
||||
private const val STATUS_ONGOING = "連載"
|
||||
private const val STATUS_FINISHED = "完結"
|
||||
|
||||
@MangaSourceParser("NICOVIDEO_SEIGA", "Nico Video Seiga", "ja")
|
||||
@MangaSourceParser("NICOVIDEO_SEIGA", "NicoVideo Seiga", "ja")
|
||||
class NicovideoSeigaParser(context: MangaLoaderContext) :
|
||||
MangaParser(context, MangaSource.NICOVIDEO_SEIGA),
|
||||
MangaParserAuthProvider {
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
import java.util.Locale
|
||||
|
||||
@MangaSourceParser("MANGACRAZY", "Manga Crazy", "", ContentType.HENTAI)
|
||||
@MangaSourceParser("MANGACRAZY", "MangaCrazy", "", ContentType.HENTAI)
|
||||
internal class MangaCrazy(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGACRAZY, "mangacrazy.net") {
|
||||
override val sourceLocale: Locale = Locale.ENGLISH
|
||||
|
||||
@@ -5,9 +5,9 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
import java.util.Locale
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("MANGATOP", "Manga Top", "", ContentType.HENTAI)
|
||||
@MangaSourceParser("MANGATOP", "MangaTop", "", ContentType.HENTAI)
|
||||
internal class MangaTop(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGATOP, "mangatop.site") {
|
||||
override val datePattern = "d MMMM yyyy"
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.util.HashSet
|
||||
import java.util.Locale
|
||||
|
||||
@MangaSourceParser("MANHWA18CC", "Manhwa 18 .Cc", "", ContentType.HENTAI)
|
||||
@MangaSourceParser("MANHWA18CC", "Manhwa18.cc", "", ContentType.HENTAI)
|
||||
internal class Manhwa18Cc(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANHWA18CC, "manhwa18.cc", 24) {
|
||||
override val datePattern = "dd MMM yyyy"
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.koitharu.kotatsu.parsers.util.mapChapters
|
||||
import org.koitharu.kotatsu.parsers.util.parseFailed
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
@MangaSourceParser("MANHWARAW", "Manhwa Raw", "", ContentType.HENTAI)
|
||||
@MangaSourceParser("MANHWARAW", "ManhwaRaw", "", ContentType.HENTAI)
|
||||
internal class ManhwaRaw(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANHWARAW, "manhwa-raw.com", 10) {
|
||||
override val datePattern = "MM/dd"
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
import java.util.Locale
|
||||
|
||||
@MangaSourceParser("MANYTOON_CLUB", "Many Toon .Club", "", ContentType.HENTAI)
|
||||
@MangaSourceParser("MANYTOON_CLUB", "ManyToon Club", "", ContentType.HENTAI)
|
||||
internal class ManyToonClub(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANYTOON_CLUB, "manytoon.club") {
|
||||
override val postReq = true
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
import java.util.Locale
|
||||
|
||||
@MangaSourceParser("AKUMANGA", "Aku Manga", "ar")
|
||||
@MangaSourceParser("AKUMANGA", "AkuManga", "ar")
|
||||
internal class AkuManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.AKUMANGA, "akumanga.com") {
|
||||
override val sourceLocale: Locale = Locale.ENGLISH
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ARABTOONS", "Arab Toons", "ar", ContentType.HENTAI)
|
||||
@MangaSourceParser("ARABTOONS", "ArabToons", "ar", ContentType.HENTAI)
|
||||
internal class ArabToons(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ARABTOONS, "arabtoons.net") {
|
||||
override val datePattern = "dd-MM-yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("AZORANOV", "Azora Nov", "ar")
|
||||
@MangaSourceParser("AZORANOV", "AzoraNov", "ar")
|
||||
internal class Azoranov(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.AZORANOV, "azoranov.com", pageSize = 10) {
|
||||
override val tagPrefix = "series-genre/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("COMICARAB", "Comic Arab", "ar")
|
||||
@MangaSourceParser("COMICARAB", "ComicArab", "ar")
|
||||
internal class ComicArab(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.COMICARAB, "comicarab.com", pageSize = 24) {
|
||||
override val datePattern = "d MMMM، yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("FALCONMANGA", "Falcon Manga", "ar")
|
||||
@MangaSourceParser("FALCONMANGA", "FalconManga", "ar")
|
||||
internal class FalconManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.FALCONMANGA, "falconmanga.com") {
|
||||
override val datePattern = "d MMMM، yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("GATEMANGA", "Gate Manga", "ar")
|
||||
@MangaSourceParser("GATEMANGA", "GateManga", "ar")
|
||||
internal class GateManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.GATEMANGA, "gatemanga.com") {
|
||||
override val postReq = true
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALEK", "Manga Lek", "ar")
|
||||
@MangaSourceParser("MANGALEK", "MangaLeku", "ar")
|
||||
internal class MangaLek(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALEK, "mangaleku.com", pageSize = 10)
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALEK_NET", "Manga Lek .Net", "ar")
|
||||
@MangaSourceParser("MANGALEK_NET", "MangaLek.net", "ar")
|
||||
internal class MangaLekNet(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALEK_NET, "manga-lek.net", pageSize = 10)
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALEK_ORG", "Manga Lek .Org", "ar")
|
||||
@MangaSourceParser("MANGALEK_ORG", "MangaLek.org", "ar")
|
||||
internal class MangaLekOrg(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALEK_ORG, "ww.mangalek.org", pageSize = 10) {
|
||||
override val listUrl = "comics/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALEKS", "Manga Leks", "ar")
|
||||
@MangaSourceParser("MANGALEKS", "MangaLeks", "ar")
|
||||
internal class MangaLeks(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALEKS, "mangaleks.com") {
|
||||
override val datePattern = "yyyy/MM/dd"
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALIKE", "Manga Like", "ar")
|
||||
@MangaSourceParser("MANGALIKE", "MangaLike", "ar")
|
||||
internal class MangaLike(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALIKE, "manga-like.net", pageSize = 10)
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALIONZ", "Manga Lionz", "ar")
|
||||
@MangaSourceParser("MANGALIONZ", "MangaLionz", "ar")
|
||||
internal class MangaLionz(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALIONZ, "mangalionz.org", pageSize = 10)
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGAROSE", "Manga Rose", "ar")
|
||||
@MangaSourceParser("MANGAROSE", "MangaRose", "ar")
|
||||
internal class MangaRose(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGAROSE, "mangarose.net", pageSize = 20)
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGASTARZ", "Manga Starz", "ar")
|
||||
@MangaSourceParser("MANGASTARZ", "MangaStarz", "ar")
|
||||
internal class MangaStarz(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGASTARZ, "mangastarz.org", pageSize = 10) {
|
||||
override val datePattern = "d MMMM، yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGATIME", "Manga Time", "ar")
|
||||
@MangaSourceParser("MANGATIME", "MangaTime", "ar")
|
||||
internal class MangaTime(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGATIME, "mangatime.co") {
|
||||
override val datePattern = "d MMMM، yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGALINK_AR", "Manga Link", "ar")
|
||||
@MangaSourceParser("MANGALINK_AR", "MangaLink", "ar")
|
||||
internal class MangalinkParser(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGALINK_AR, "manga-link.org", pageSize = 10) {
|
||||
override val listUrl = "readcomics/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGARBIC", "Manga Arabic", "ar")
|
||||
@MangaSourceParser("MANGARBIC", "MangaArabic", "ar")
|
||||
internal class Mangarbic(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGARBIC, "mangarabic.com") {
|
||||
override val postReq = true
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("MANGASPARK", "Manga Spark", "ar")
|
||||
@MangaSourceParser("MANGASPARK", "MangaSpark", "ar")
|
||||
internal class Mangaspark(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.MANGASPARK, "mangaspark.org", pageSize = 10) {
|
||||
override val postReq = true
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("NOVELSTOWN", "Novels Town", "ar")
|
||||
@MangaSourceParser("NOVELSTOWN", "NovelsTown", "ar")
|
||||
internal class Novelstown(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.NOVELSTOWN, "novelstown.com") {
|
||||
override val datePattern = "d MMMM، yyyy"
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("PEWPIECE", "Pew Piece", "ar")
|
||||
@MangaSourceParser("PEWPIECE", "PewPiece", "ar")
|
||||
internal class PewPiece(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.PEWPIECE, "pewpiece.com")
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("WEBTOONEMPIRE", "Webtoon Empire", "ar")
|
||||
@MangaSourceParser("WEBTOONEMPIRE", "WebtoonEmpire", "ar")
|
||||
internal class WebtoonEmpire(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.WEBTOONEMPIRE, "webtoonsempireron.com", pageSize = 10) {
|
||||
override val listUrl = "webtoon/"
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ADULT_WEBTOON", "Adult Webtoon", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("ADULT_WEBTOON", "AdultWebtoon", "en", ContentType.HENTAI)
|
||||
internal class AdultWebtoon(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ADULT_WEBTOON, "adultwebtoon.com") {
|
||||
override val tagPrefix = "adult-webtoon-genre/"
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ALLPORN_COMIC", "All Porn Comic", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("ALLPORN_COMIC", "AllPornComic", "en", ContentType.HENTAI)
|
||||
internal class AllPornComic(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ALLPORN_COMIC, "allporncomic.com", pageSize = 24) {
|
||||
override val tagPrefix = "porncomic-genre/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ANSHSCANS", "Ansh Scans", "en")
|
||||
@MangaSourceParser("ANSHSCANS", "AnshScans", "en")
|
||||
internal class AnshScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ANSHSCANS, "anshscans.org", 10) {
|
||||
override val tagPrefix = "genre/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("AQUAMANGA", "Aqua Manga", "en")
|
||||
@MangaSourceParser("AQUAMANGA", "AquaManga", "en")
|
||||
internal class AquaManga(context: MangaLoaderContext) : MadaraParser(context, MangaSource.AQUAMANGA, "aquamanga.com") {
|
||||
override val datePattern = "MMMM dd, yyyy"
|
||||
override val withoutAjax = true
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ARCANESCANS", "Arcane Scans", "en")
|
||||
@MangaSourceParser("ARCANESCANS", "ArcaneScans", "en")
|
||||
internal class ArcaneScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ARCANESCANS, "arcanescans.com", 10)
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ASTRALLIBRARY", "Astral Library", "en")
|
||||
@MangaSourceParser("ASTRALLIBRARY", "AstralLibrary", "en")
|
||||
internal class Astrallibrary(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ASTRALLIBRARY, "astrallibrary.net", 18) {
|
||||
override val datePattern = "dd MMM"
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ASURASCANS_US", "Asura Scans .Us", "en")
|
||||
@MangaSourceParser("ASURASCANS_US", "AsuraScans.us", "en")
|
||||
internal class AsuraScansUs(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ASURASCANS_US, "asurascans.us")
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("BANANA_MANGA", "Banana Manga", "en")
|
||||
@MangaSourceParser("BANANA_MANGA", "BananaManga", "en")
|
||||
internal class BananaManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.BANANA_MANGA, "bananamanga.net", 20)
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("BESTMANHUACOM", "Best Manhua .Com", "en")
|
||||
@MangaSourceParser("BESTMANHUACOM", "BestManhua.com", "en")
|
||||
internal class BestManhuaCom(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.BESTMANHUACOM, "bestmanhua.com", 10) {
|
||||
override val withoutAjax = true
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("BIBIMANGA", "Bibi Manga", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("BIBIMANGA", "BibiManga", "en", ContentType.HENTAI)
|
||||
internal class BibiManga(context: MangaLoaderContext) : MadaraParser(context, MangaSource.BIBIMANGA, "bibimanga.com") {
|
||||
override val datePattern = "MMMM dd, yyyy"
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("BLOG_MANGA", "Blog Manga", "en")
|
||||
@MangaSourceParser("BLOG_MANGA", "BlogManga", "en")
|
||||
internal class BlogManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.BLOG_MANGA, "blogmanga.net") {
|
||||
override val postReq = true
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("BOYS_LOVE", "Boys Love", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("BOYS_LOVE", "BoysLove", "en", ContentType.HENTAI)
|
||||
internal class BoysLove(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.BOYS_LOVE, "boyslove.me", 20) {
|
||||
override val tagPrefix = "boyslove-genre/"
|
||||
|
||||
@@ -5,5 +5,5 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("CM_READER", "Cm Reader", "en")
|
||||
@MangaSourceParser("CM_READER", "CmReader", "en")
|
||||
internal class CmReader(context: MangaLoaderContext) : MadaraParser(context, MangaSource.CM_READER, "cmreader.info")
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("COFFEE_MANGA", "Coffee Manga", "en")
|
||||
@MangaSourceParser("COFFEE_MANGA", "CoffeeManga", "en")
|
||||
internal class CoffeeManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.COFFEE_MANGA, "coffeemanga.io")
|
||||
|
||||
@@ -7,9 +7,9 @@ import org.koitharu.kotatsu.parsers.model.*
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
import org.koitharu.kotatsu.parsers.util.*
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.EnumSet
|
||||
import java.util.*
|
||||
|
||||
@MangaSourceParser("COFFEE_MANGA_TOP", "Coffee Manga .Top", "en")
|
||||
@MangaSourceParser("COFFEE_MANGA_TOP", "CoffeeManga.top", "en")
|
||||
internal class CoffeeMangaTop(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.COFFEE_MANGA_TOP, "coffeemanga.top") {
|
||||
override val tagPrefix = "mangas/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("COLORED_MANGA", "Colored Manga", "en")
|
||||
@MangaSourceParser("COLORED_MANGA", "ColoredManga", "en")
|
||||
internal class ColoredManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.COLORED_MANGA, "coloredmanga.com") {
|
||||
override val datePattern = "dd-MMM"
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("COMICSCANS", "Comic Scans", "en")
|
||||
@MangaSourceParser("COMICSCANS", "ComicScans", "en")
|
||||
internal class ComicScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.COMICSCANS, "www.comicscans.org")
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("COMICSVALLEY", "Comics Valley", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("COMICSVALLEY", "ComicsValley", "en", ContentType.HENTAI)
|
||||
internal class ComicsValley(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.COMICSVALLEY, "comicsvalley.com") {
|
||||
override val listUrl = "adult-comics/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("CREEPYSCANS", "Creepy Scans", "en")
|
||||
@MangaSourceParser("CREEPYSCANS", "CreepyScans", "en")
|
||||
internal class CreepyScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.CREEPYSCANS, "creepyscans.com") {
|
||||
override val stylePage = ""
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("DARK_SCANS", "Dark Scans", "en")
|
||||
@MangaSourceParser("DARK_SCANS", "DarkScans", "en")
|
||||
internal class DarkScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.DARK_SCANS, "darkscans.com", 18) {
|
||||
override val listUrl = "mangas/"
|
||||
|
||||
@@ -6,6 +6,6 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("DECADENCESCANS", "Decadence Scans", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("DECADENCESCANS", "DecadenceScans", "en", ContentType.HENTAI)
|
||||
internal class DecadenceScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.DECADENCESCANS, "reader.decadencescans.com", 10)
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("DRAGONTEA", "Dragon Tea", "en")
|
||||
@MangaSourceParser("DRAGONTEA", "DragonTea", "en")
|
||||
internal class DragonTea(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.DRAGONTEA, "dragontea.ink") {
|
||||
override val datePattern = "MM/dd/yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("DRAKESCANS", "Drake Scans", "en")
|
||||
@MangaSourceParser("DRAKESCANS", "DrakeScans", "en")
|
||||
internal class DrakeScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.DRAKESCANS, "drakescans.com", 10) {
|
||||
override val datePattern = "dd/MM/yyyy"
|
||||
|
||||
@@ -6,6 +6,6 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("DUCKMANGA", "Duck Manga", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("DUCKMANGA", "DuckManga", "en", ContentType.HENTAI)
|
||||
internal class DuckManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.DUCKMANGA, "duckmanga.com", 20)
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("ELITEMANGA", "Elite Manga", "en")
|
||||
@MangaSourceParser("ELITEMANGA", "EliteManga", "en")
|
||||
internal class EliteManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.ELITEMANGA, "www.elitemanga.org")
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("FACTMANGA", "Fact Manga", "en")
|
||||
@MangaSourceParser("FACTMANGA", "FactManga", "en")
|
||||
internal class FactManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.FACTMANGA, "factmanga.com")
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("FREECOMICONLINE", "Free Comic Online", "en", ContentType.HENTAI)
|
||||
@MangaSourceParser("FREECOMICONLINE", "FreeComic Online", "en", ContentType.HENTAI)
|
||||
internal class FreeComicOnline(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.FREECOMICONLINE, "freecomiconline.me") {
|
||||
override val postReq = true
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("FREEMANGA", "Free Manga", "en")
|
||||
@MangaSourceParser("FREEMANGA", "FreeManga", "en")
|
||||
internal class FreeManga(context: MangaLoaderContext) : MadaraParser(context, MangaSource.FREEMANGA, "freemanga.me") {
|
||||
override val datePattern = "MMMM dd, yyyy"
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("FREEMANGATOP", "Free Manga Top", "en")
|
||||
@MangaSourceParser("FREEMANGATOP", "FreeManga Top", "en")
|
||||
internal class FreeMangaTop(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.FREEMANGATOP, "freemangatop.com") {
|
||||
override val datePattern = "MM/dd/yyyy"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("FREEWEBTOONCOINS", "Free Webtoon Coins", "en")
|
||||
@MangaSourceParser("FREEWEBTOONCOINS", "FreeWebtoonCoins", "en")
|
||||
internal class FreeWebtoonCoins(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.FREEWEBTOONCOINS, "freewebtooncoins.com") {
|
||||
override val tagPrefix = "webtoon-genre/"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("GDSCANS", "Gd Scans", "en")
|
||||
@MangaSourceParser("GDSCANS", "GdScans", "en")
|
||||
internal class GdScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.GDSCANS, "gdscans.com", 10) {
|
||||
override val tagPrefix = "webtoon-genre/"
|
||||
|
||||
@@ -5,6 +5,6 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("GLMANGA", "Gl Manga", "en")
|
||||
@MangaSourceParser("GLMANGA", "GlManga", "en")
|
||||
internal class GlManga(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.GLMANGA, "glmanga.com")
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("GOODGIRLS", "Good Girls", "en")
|
||||
@MangaSourceParser("GOODGIRLS", "GoodGirls", "en")
|
||||
internal class GoodGirls(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.GOODGIRLS, "goodgirls.moe", 10) {
|
||||
override val selectDesc = "div.post-content_item:contains(Synopsis) div.summary-content"
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.koitharu.kotatsu.parsers.MangaSourceParser
|
||||
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
|
||||
|
||||
@MangaSourceParser("GOURMETSCANS", "Gourmet Scans", "en")
|
||||
@MangaSourceParser("GOURMETSCANS", "GourmetScans", "en")
|
||||
internal class GourmetScans(context: MangaLoaderContext) :
|
||||
MadaraParser(context, MangaSource.GOURMETSCANS, "gourmetscans.net") {
|
||||
override val listUrl = "project/"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user