From 6f73ff23e874759a8c955ab06f39cf207a26492b Mon Sep 17 00:00:00 2001 From: devi Date: Tue, 14 Nov 2023 20:48:06 +0100 Subject: [PATCH] Minor update --- .../parsers/site/madara/MadaraParser.kt | 51 +++++++++---------- .../parsers/site/madara/en/EliteManga.kt | 2 +- .../parsers/site/madara/en/FreeComicOnline.kt | 2 +- .../parsers/site/madara/en/FreeMangaTop.kt | 2 +- .../kotatsu/parsers/site/madara/en/Grabber.kt | 3 +- .../parsers/site/madara/en/MangaBaz.kt | 13 ----- .../parsers/site/madara/en/MangaFast.kt | 1 - .../parsers/site/madara/es/MangaReaderpro.kt | 1 - .../parsers/site/madara/pt/DemonSect.kt | 4 +- .../parsers/site/madara/pt/FayScans.kt | 12 +++++ 10 files changed, 42 insertions(+), 49 deletions(-) delete mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaBaz.kt create mode 100644 src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/FayScans.kt diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt index 3a7ef689..2bfbccae 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt @@ -121,6 +121,7 @@ internal abstract class MadaraParser( "已完结", "Bitmiş", "End", + "منتهية", ) @JvmField @@ -154,34 +155,23 @@ internal abstract class MadaraParser( append("https://") append(domain) val pages = page + 1 - when { - !query.isNullOrEmpty() -> { + if (!tags.isNullOrEmpty()) { + append("/$tagPrefix") + append(tag?.key.orEmpty()) + if (pages > 1) { append("/page/") append(pages.toString()) - append("/?s=") - append(query.urlEncoded()) - append("&post_type=wp-manga&") - } - - !tags.isNullOrEmpty() -> { - append("/$tagPrefix") - append(tag?.key.orEmpty()) - if (pages > 1) { - append("/page/") - append(pages.toString()) - } - append("?") } - - else -> { - - append("/$listUrl") - if (pages > 1) { - append("page/") - append(pages) - } - append("?") + append("?") + } else { + append("/page/") + append(pages) + append("/?s=") + if (!query.isNullOrEmpty()) { + append(query.urlEncoded()) } + append("&post_type=wp-manga&") + /// &status[]= ( on-going - end - canceled - on-hold - upcoming ) } append("m_orderby=") when (sortOrder) { @@ -213,6 +203,7 @@ internal abstract class MadaraParser( payload["page"] = page.toString() payload["vars[wp-manga-genre]"] = tag?.key.orEmpty() payload["vars[s]"] = query?.urlEncoded().orEmpty() + /// payload["vars[meta_query][0][0][value][]"] = ( on-going - end - canceled - on-hold - upcoming ) webClient.httpPost( "https://$domain/wp-admin/admin-ajax.php", payload, @@ -487,6 +478,7 @@ internal abstract class MadaraParser( d.endsWith(" önce") || // Handle translated 'ago' in Turkish. d.endsWith(" trước") || // Handle translated 'ago' in Viêt Nam. d.endsWith("مضت") || // Handle translated 'ago' in Arabic + d.startsWith("منذ") || d.startsWith("il y a") || // Handle translated 'ago' in French. //If there is no ago but just a motion of time // short Hours @@ -506,7 +498,9 @@ internal abstract class MadaraParser( // Minutes in Portuguese d.endsWith(" minutos") || d.endsWith(" minuto") || //Minutes in French - d.endsWith(" minute") || d.endsWith(" minutes") -> parseRelativeDate(date) + d.endsWith(" minute") || d.endsWith(" minutes") || + //month in French + d.endsWith(" mois") -> parseRelativeDate(date) // Handle 'yesterday' and 'today', using midnight d.startsWith("year") -> Calendar.getInstance().apply { @@ -565,6 +559,7 @@ internal abstract class MadaraParser( "hours", "h", "ساعات", + "ساعة", ).anyWordIn(date) -> cal.apply { add( Calendar.HOUR, @@ -597,7 +592,7 @@ internal abstract class MadaraParser( ) }.timeInMillis - WordSet("month", "months", "أشهر").anyWordIn(date) -> cal.apply { + WordSet("month", "months", "أشهر", "mois").anyWordIn(date) -> cal.apply { add( Calendar.MONTH, -number, @@ -610,9 +605,9 @@ internal abstract class MadaraParser( } private val ratingRequest = - "action=madara_load_more&page=1&template=madara-core%2Fcontent%2Fcontent-search&vars%5Bs%5D=&vars%5Borderby%5D%5Bquery_avarage_reviews%5D=DESC&vars%5Borderby%5D%5Bquery_total_reviews%5D=DESC&vars%5Bpaged%5D=1&vars%5Btemplate%5D=search&vars%5Bmeta_query%5D%5B0%5D%5Brelation%5D=AND&vars%5Bmeta_query%5D%5B0%5D%5Bquery_avarage_reviews%5D%5Bkey%5D=_manga_avarage_reviews&vars%5Bmeta_query%5D%5B0%5D%5Bquery_total_reviews%5D%5Bkey%5D=_manga_total_votes&vars%5Bmeta_query%5D%5Brelation%5D=AND&vars%5Bpost_type%5D=wp-manga&vars%5Bpost_status%5D=publish&vars%5Bmanga_archives_item_layout%5D=default" + "action=madara_load_more&page=1&template=madara-core%2Fcontent%2Fcontent-search&vars%5Bs%5D=&vars%5Borderby%5D%5Bquery_avarage_reviews%5D=DESC&vars%5Borderby%5D%5Bquery_total_reviews%5D=DESC&vars%5Bpaged%5D=1&vars%5Btemplate%5D=search&vars%5Bmeta_query%5D%5B0%5D%5Brelation%5D=AND&vars%5Bmeta_query%5D%5B0%5D%5Bquery_avarage_reviews%5D%5Bkey%5D=_manga_avarage_reviews&vars%5Bmeta_query%5D%5B0%5D%5Bquery_total_reviews%5D%5Bkey%5D=_manga_total_votes&vars%5Bmeta_query%5D%5Brelation%5D=AND&vars%5Bpost_type%5D=wp-manga&vars%5Bpost_status%5D=publish&vars%5Bmanga_archives_item_layout%5D=default&vars%5Bmeta_query%5D%5B0%5D%5B0%5D%5Bkey%5D=_wp_manga_status&vars%5Bmeta_query%5D%5B0%5D%5B0%5D%5Bcompare%5D=IN" private val defaultRequest = - "action=madara_load_more&page=1&template=madara-core%2Fcontent%2Fcontent-search&vars%5Bs%5D=&vars%5Borderby%5D=meta_value_num&vars%5Bpaged%5D=1&vars%5Btemplate%5D=search&vars%5Bmeta_query%5D%5B0%5D%5Brelation%5D=AND&vars%5Bmeta_query%5D%5Brelation%5D=OR&vars%5Bpost_type%5D=wp-manga&vars%5Bpost_status%5D=publish&vars%5Bmeta_key%5D=_latest_update&vars%5Border%5D=desc&vars%5Bmanga_archives_item_layout%5D=default" + "action=madara_load_more&page=1&template=madara-core%2Fcontent%2Fcontent-search&vars%5Bs%5D=&vars%5Borderby%5D=meta_value_num&vars%5Bpaged%5D=1&vars%5Btemplate%5D=search&vars%5Bmeta_query%5D%5B0%5D%5Brelation%5D=AND&vars%5Bmeta_query%5D%5Brelation%5D=OR&vars%5Bpost_type%5D=wp-manga&vars%5Bpost_status%5D=publish&vars%5Bmeta_key%5D=_latest_update&vars%5Border%5D=desc&vars%5Bmanga_archives_item_layout%5D=default&vars%5Bmeta_query%5D%5B0%5D%5B0%5D%5Bkey%5D=_wp_manga_status&vars%5Bmeta_query%5D%5B0%5D%5B0%5D%5Bcompare%5D=IN" private companion object { private fun createRequestTemplate(query: String) = diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/EliteManga.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/EliteManga.kt index ea1eb0a8..df35f85d 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/EliteManga.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/EliteManga.kt @@ -7,4 +7,4 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser @MangaSourceParser("ELITEMANGA", "EliteManga", "en") internal class EliteManga(context: MangaLoaderContext) : - MadaraParser(context, MangaSource.ELITEMANGA, "www.elitemanga.org") + MadaraParser(context, MangaSource.ELITEMANGA, "www.redmanga.org") diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeComicOnline.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeComicOnline.kt index caffdef2..efcc96dc 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeComicOnline.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeComicOnline.kt @@ -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", "FreeComic Online", "en", ContentType.HENTAI) +@MangaSourceParser("FREECOMICONLINE", "FreeComicOnline", "en", ContentType.HENTAI) internal class FreeComicOnline(context: MangaLoaderContext) : MadaraParser(context, MangaSource.FREECOMICONLINE, "freecomiconline.me") { override val postReq = true diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeMangaTop.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeMangaTop.kt index f06ff7eb..c103b195 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeMangaTop.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/FreeMangaTop.kt @@ -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", "FreeManga Top", "en") +@MangaSourceParser("FREEMANGATOP", "FreeMangaTop", "en") internal class FreeMangaTop(context: MangaLoaderContext) : MadaraParser(context, MangaSource.FREEMANGATOP, "freemangatop.com") { override val datePattern = "MM/dd/yyyy" diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/Grabber.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/Grabber.kt index 6055f559..d416da6a 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/Grabber.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/Grabber.kt @@ -2,10 +2,11 @@ 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.ContentType import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.parsers.site.madara.MadaraParser -@MangaSourceParser("GRABBER", "Grabber", "en") +@MangaSourceParser("GRABBER", "Grabber", "en", ContentType.COMICS) internal class Grabber(context: MangaLoaderContext) : MadaraParser(context, MangaSource.GRABBER, "grabber.zone", 20) { override val tagPrefix = "type/" diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaBaz.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaBaz.kt deleted file mode 100644 index ae63355c..00000000 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaBaz.kt +++ /dev/null @@ -1,13 +0,0 @@ -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("MANGABAZ", "MangaBaz", "en") -internal class MangaBaz(context: MangaLoaderContext) : - MadaraParser(context, MangaSource.MANGABAZ, "mangabaz.net") { - override val listUrl = "all-series/" - override val tagPrefix = "mangas-genre/" -} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaFast.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaFast.kt index 654f992d..540ac901 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaFast.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/en/MangaFast.kt @@ -8,6 +8,5 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser @MangaSourceParser("MANGAFAST", "MangaFast", "en") internal class MangaFast(context: MangaLoaderContext) : MadaraParser(context, MangaSource.MANGAFAST, "manga-fast.com") { - override val datePattern = "d MMMM، yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MangaReaderpro.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MangaReaderpro.kt index 8cfb8168..0b8ec25f 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MangaReaderpro.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/es/MangaReaderpro.kt @@ -8,6 +8,5 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser @MangaSourceParser("MANGAREADERPRO", "MangaReaderPro", "es") internal class MangaReaderpro(context: MangaLoaderContext) : MadaraParser(context, MangaSource.MANGAREADERPRO, "mangareaderpro.com", 10) { - override val datePattern = "MM/dd/yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DemonSect.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DemonSect.kt index 6de62c1a..165e248f 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DemonSect.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/DemonSect.kt @@ -7,6 +7,6 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser @MangaSourceParser("DEMONSECT", "DemonSect", "pt") internal class DemonSect(context: MangaLoaderContext) : - MadaraParser(context, MangaSource.DEMONSECT, "demonsect.com.br", 10) { - override val datePattern = "MMM dd, yyyy" + MadaraParser(context, MangaSource.DEMONSECT, "demonsect.com.br", 10) { + override val datePattern = "MMM dd, yyyy" } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/FayScans.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/FayScans.kt new file mode 100644 index 00000000..4cb4f089 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/pt/FayScans.kt @@ -0,0 +1,12 @@ +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("FAYSCANS", "FayScans", "pt") +internal class FayScans(context: MangaLoaderContext) : + MadaraParser(context, MangaSource.FAYSCANS, "fayscans.com.br") { + override val datePattern: String = "dd/MM/yyyy" +}