Fix archive download

This commit is contained in:
小白-白 authored and FooIbar committed 2024-10-25 21:04:00 +08:00
1 parent 4c20d27d33
commit 69669f0a50
3 files changed
+5 -6

No files matched your search

@@ -306,7 +306,7 @@ object EhEngine {
suspend fun getFavoriteNote(gid: Long, token: String) = ehRequest(EhUrl.getAddFavorites(gid, token), EhUrl.getGalleryDetailUrl(gid, token))
.fetchUsingAsText(FavoritesParser::parseNote)
suspend fun downloadArchive(gid: Long, token: String, or: String, res: String, isHAtH: Boolean): String? {
suspend fun downloadArchive(gid: Long, token: String, or: String?, res: String, isHAtH: Boolean): String? {
val url = EhUrl.getDownloadArchive(gid, token, or)
val referer = EhUrl.getGalleryDetailUrl(gid, token)
val request = ehRequest(url, referer, EhUrl.origin) {
@@ -125,10 +125,10 @@ object EhUrl {
addQueryParameter("act", "addfav")
}.buildString()
fun getDownloadArchive(gid: Long, token: String, or: String) = ehUrl("archiver.php") {
fun getDownloadArchive(gid: Long, token: String, or: String?) = ehUrl("archiver.php") {
addQueryParameter("gid", "$gid")
addQueryParameter("token", token)
addQueryParameter("or", or)
addQueryParameterIfNotBlank("or", or)
}.buildString()
fun getTagDefinitionUrl(tag: String) = "https://ehwiki.org/wiki/" + tag.replace(' ', '_')
@@ -35,8 +35,7 @@ object ArchiveParser {
"You do not have enough funds to download this archive."
fun parse(body: String, maybeFunds: Funds?): Result {
val m = PATTERN_HATH_FORM.find(body)!!
val paramOr = m.groupValues[1]
val paramOr = PATTERN_HATH_FORM.find(body)?.groupValues[1]
val archiveList = ArrayList<Archive>()
Jsoup.parse(body).select("#db>div>div").forEach { element ->
if (element.childrenSize() > 0 && !element.attr("style").contains("color:#CCCCCC")) {
@@ -78,7 +77,7 @@ object ArchiveParser {
// TODO: Check more errors
}
data class Result(val paramOr: String, val archiveList: List<Archive>, val funds: Funds)
data class Result(val paramOr: String?, val archiveList: List<Archive>, val funds: Funds)
}
class Archive(