add rating on MadaraParser
This commit is contained in:
@@ -28,6 +28,7 @@ internal abstract class MadaraParser(
|
||||
SortOrder.POPULARITY,
|
||||
SortOrder.NEWEST,
|
||||
SortOrder.ALPHABETICAL,
|
||||
SortOrder.RATING,
|
||||
)
|
||||
|
||||
protected open val tagPrefix = "manga-genre/"
|
||||
@@ -176,14 +177,18 @@ internal abstract class MadaraParser(
|
||||
SortOrder.UPDATED -> append("latest")
|
||||
SortOrder.NEWEST -> append("new-manga")
|
||||
SortOrder.ALPHABETICAL -> append("alphabet")
|
||||
else -> append("latest")
|
||||
SortOrder.RATING -> append("rating")
|
||||
}
|
||||
}
|
||||
webClient.httpGet(url).parseHtml()
|
||||
} else {
|
||||
val tag = tags.oneOrThrowIfMany()
|
||||
val payload = createRequestTemplate()
|
||||
payload["page"] = page.toString()
|
||||
|
||||
val payload = if (sortOrder == SortOrder.RATING) {
|
||||
createRequestTemplate(ratingRequest)
|
||||
} else {
|
||||
createRequestTemplate(defaultRequest)
|
||||
}
|
||||
when (sortOrder) {
|
||||
SortOrder.POPULARITY -> payload["vars[meta_key]"] = "_wp_manga_views"
|
||||
SortOrder.UPDATED -> payload["vars[meta_key]"] = "_latest_update"
|
||||
@@ -193,8 +198,9 @@ internal abstract class MadaraParser(
|
||||
payload["vars[order]"] = "ASC"
|
||||
}
|
||||
|
||||
else -> payload["vars[meta_key]"] = "_latest_update"
|
||||
SortOrder.RATING -> {}
|
||||
}
|
||||
payload["page"] = page.toString()
|
||||
payload["vars[wp-manga-genre]"] = tag?.key.orEmpty()
|
||||
payload["vars[s]"] = query?.urlEncoded().orEmpty()
|
||||
webClient.httpPost(
|
||||
@@ -547,14 +553,11 @@ 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"
|
||||
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"
|
||||
private companion object {
|
||||
|
||||
private fun createRequestTemplate() =
|
||||
("action=madara_load_more&page=1&template=madara-core%2Fcontent%2Fcontent-search&vars%5Bs%5D=&vars%5B" +
|
||||
"orderby%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").split(
|
||||
private fun createRequestTemplate(query : String) =
|
||||
(query).split(
|
||||
'&',
|
||||
).map {
|
||||
val pos = it.indexOf('=')
|
||||
|
||||
Reference in New Issue
Block a user