Minor update

pull/385/head
devi 2 years ago
parent 2cd2d7dbc4
commit 6f73ff23e8

@ -121,6 +121,7 @@ internal abstract class MadaraParser(
"已完结", "已完结",
"Bitmiş", "Bitmiş",
"End", "End",
"منتهية",
) )
@JvmField @JvmField
@ -154,34 +155,23 @@ internal abstract class MadaraParser(
append("https://") append("https://")
append(domain) append(domain)
val pages = page + 1 val pages = page + 1
when { if (!tags.isNullOrEmpty()) {
!query.isNullOrEmpty() -> { append("/$tagPrefix")
append(tag?.key.orEmpty())
if (pages > 1) {
append("/page/") append("/page/")
append(pages.toString()) 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("?")
} }
append("?")
else -> { } else {
append("/page/")
append("/$listUrl") append(pages)
if (pages > 1) { append("/?s=")
append("page/") if (!query.isNullOrEmpty()) {
append(pages) append(query.urlEncoded())
}
append("?")
} }
append("&post_type=wp-manga&")
/// &status[]= ( on-going - end - canceled - on-hold - upcoming )
} }
append("m_orderby=") append("m_orderby=")
when (sortOrder) { when (sortOrder) {
@ -213,6 +203,7 @@ internal abstract class MadaraParser(
payload["page"] = page.toString() payload["page"] = page.toString()
payload["vars[wp-manga-genre]"] = tag?.key.orEmpty() payload["vars[wp-manga-genre]"] = tag?.key.orEmpty()
payload["vars[s]"] = query?.urlEncoded().orEmpty() payload["vars[s]"] = query?.urlEncoded().orEmpty()
/// payload["vars[meta_query][0][0][value][]"] = ( on-going - end - canceled - on-hold - upcoming )
webClient.httpPost( webClient.httpPost(
"https://$domain/wp-admin/admin-ajax.php", "https://$domain/wp-admin/admin-ajax.php",
payload, payload,
@ -487,6 +478,7 @@ internal abstract class MadaraParser(
d.endsWith(" önce") || // Handle translated 'ago' in Turkish. d.endsWith(" önce") || // Handle translated 'ago' in Turkish.
d.endsWith(" trước") || // Handle translated 'ago' in Viêt Nam. d.endsWith(" trước") || // Handle translated 'ago' in Viêt Nam.
d.endsWith("مضت") || // Handle translated 'ago' in Arabic d.endsWith("مضت") || // Handle translated 'ago' in Arabic
d.startsWith("منذ") ||
d.startsWith("il y a") || // Handle translated 'ago' in French. d.startsWith("il y a") || // Handle translated 'ago' in French.
//If there is no ago but just a motion of time //If there is no ago but just a motion of time
// short Hours // short Hours
@ -506,7 +498,9 @@ internal abstract class MadaraParser(
// Minutes in Portuguese // Minutes in Portuguese
d.endsWith(" minutos") || d.endsWith(" minuto") || d.endsWith(" minutos") || d.endsWith(" minuto") ||
//Minutes in French //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 // Handle 'yesterday' and 'today', using midnight
d.startsWith("year") -> Calendar.getInstance().apply { d.startsWith("year") -> Calendar.getInstance().apply {
@ -565,6 +559,7 @@ internal abstract class MadaraParser(
"hours", "hours",
"h", "h",
"ساعات", "ساعات",
"ساعة",
).anyWordIn(date) -> cal.apply { ).anyWordIn(date) -> cal.apply {
add( add(
Calendar.HOUR, Calendar.HOUR,
@ -597,7 +592,7 @@ internal abstract class MadaraParser(
) )
}.timeInMillis }.timeInMillis
WordSet("month", "months", "أشهر").anyWordIn(date) -> cal.apply { WordSet("month", "months", "أشهر", "mois").anyWordIn(date) -> cal.apply {
add( add(
Calendar.MONTH, Calendar.MONTH,
-number, -number,
@ -610,9 +605,9 @@ internal abstract class MadaraParser(
} }
private val ratingRequest = 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 = 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 companion object {
private fun createRequestTemplate(query: String) = private fun createRequestTemplate(query: String) =

@ -7,4 +7,4 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("ELITEMANGA", "EliteManga", "en") @MangaSourceParser("ELITEMANGA", "EliteManga", "en")
internal class EliteManga(context: MangaLoaderContext) : internal class EliteManga(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.ELITEMANGA, "www.elitemanga.org") MadaraParser(context, MangaSource.ELITEMANGA, "www.redmanga.org")

@ -6,7 +6,7 @@ import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser 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) : internal class FreeComicOnline(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.FREECOMICONLINE, "freecomiconline.me") { MadaraParser(context, MangaSource.FREECOMICONLINE, "freecomiconline.me") {
override val postReq = true 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.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("FREEMANGATOP", "FreeManga Top", "en") @MangaSourceParser("FREEMANGATOP", "FreeMangaTop", "en")
internal class FreeMangaTop(context: MangaLoaderContext) : internal class FreeMangaTop(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.FREEMANGATOP, "freemangatop.com") { MadaraParser(context, MangaSource.FREEMANGATOP, "freemangatop.com") {
override val datePattern = "MM/dd/yyyy" override val datePattern = "MM/dd/yyyy"

@ -2,10 +2,11 @@ package org.koitharu.kotatsu.parsers.site.madara.en
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser 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.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("GRABBER", "Grabber", "en") @MangaSourceParser("GRABBER", "Grabber", "en", ContentType.COMICS)
internal class Grabber(context: MangaLoaderContext) : internal class Grabber(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.GRABBER, "grabber.zone", 20) { MadaraParser(context, MangaSource.GRABBER, "grabber.zone", 20) {
override val tagPrefix = "type/" override val tagPrefix = "type/"

@ -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/"
}

@ -8,6 +8,5 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("MANGAFAST", "MangaFast", "en") @MangaSourceParser("MANGAFAST", "MangaFast", "en")
internal class MangaFast(context: MangaLoaderContext) : internal class MangaFast(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.MANGAFAST, "manga-fast.com") { MadaraParser(context, MangaSource.MANGAFAST, "manga-fast.com") {
override val datePattern = "d MMMM، yyyy" override val datePattern = "d MMMM، yyyy"
} }

@ -8,6 +8,5 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("MANGAREADERPRO", "MangaReaderPro", "es") @MangaSourceParser("MANGAREADERPRO", "MangaReaderPro", "es")
internal class MangaReaderpro(context: MangaLoaderContext) : internal class MangaReaderpro(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.MANGAREADERPRO, "mangareaderpro.com", 10) { MadaraParser(context, MangaSource.MANGAREADERPRO, "mangareaderpro.com", 10) {
override val datePattern = "MM/dd/yyyy" override val datePattern = "MM/dd/yyyy"
} }

@ -7,6 +7,6 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("DEMONSECT", "DemonSect", "pt") @MangaSourceParser("DEMONSECT", "DemonSect", "pt")
internal class DemonSect(context: MangaLoaderContext) : internal class DemonSect(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.DEMONSECT, "demonsect.com.br", 10) { MadaraParser(context, MangaSource.DEMONSECT, "demonsect.com.br", 10) {
override val datePattern = "MMM dd, yyyy" override val datePattern = "MMM dd, yyyy"
} }

@ -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"
}
Loading…
Cancel
Save