diff --git a/app/src/main/kotlin/com/hippo/ehviewer/client/EhEngine.kt b/app/src/main/kotlin/com/hippo/ehviewer/client/EhEngine.kt index aec899024..319bfd019 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/client/EhEngine.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/client/EhEngine.kt @@ -306,8 +306,8 @@ 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? { - val url = EhUrl.getDownloadArchive(gid, token, or) + suspend fun downloadArchive(gid: Long, token: String, res: String, isHAtH: Boolean): String? { + val url = EhUrl.getDownloadArchive(gid, token) val referer = EhUrl.getGalleryDetailUrl(gid, token) val request = ehRequest(url, referer, EhUrl.origin) { formBody { diff --git a/app/src/main/kotlin/com/hippo/ehviewer/client/EhUrl.kt b/app/src/main/kotlin/com/hippo/ehviewer/client/EhUrl.kt index 9ab93744f..a67c46167 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/client/EhUrl.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/client/EhUrl.kt @@ -125,10 +125,9 @@ object EhUrl { addQueryParameter("act", "addfav") }.buildString() - fun getDownloadArchive(gid: Long, token: String, or: String?) = ehUrl("archiver.php") { + fun getDownloadArchive(gid: Long, token: String) = ehUrl("archiver.php") { addQueryParameter("gid", "$gid") addQueryParameter("token", token) - addQueryParameterIfNotBlank("or", or) }.buildString() fun getTagDefinitionUrl(tag: String) = "https://ehwiki.org/wiki/" + tag.replace(' ', '_') diff --git a/app/src/main/kotlin/com/hippo/ehviewer/client/parser/ArchiveParser.kt b/app/src/main/kotlin/com/hippo/ehviewer/client/parser/ArchiveParser.kt index 60b4b1065..e252de5a6 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/client/parser/ArchiveParser.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/client/parser/ArchiveParser.kt @@ -25,8 +25,6 @@ object ArchiveParser { Regex("(.*).*Click Here To Start Downloading") private val PATTERN_CURRENT_FUNDS = Regex("

([\\d,]+) GP \\[[^]]*]   ([\\d,]+) Credits \\[[^]]*]

") - private val PATTERN_HATH_FORM = - Regex("
") private val PATTERN_HATH_ARCHIVE = Regex("

([^<]+)

\\s*

([\\w. ]+)

\\s*

([\\w. ]+)

") private const val ERROR_NEED_HATH_CLIENT = @@ -35,7 +33,6 @@ object ArchiveParser { "You do not have enough funds to download this archive." fun parse(body: String, maybeFunds: Funds?): Result { - val paramOr = PATTERN_HATH_FORM.find(body)?.groupValues[1] val archiveList = ArrayList() Jsoup.parse(body).select("#db>div>div").forEach { element -> if (element.childrenSize() > 0 && !element.attr("style").contains("color:#CCCCCC")) { @@ -63,7 +60,7 @@ object ArchiveParser { val fundsC = ParserUtils.parseInt(get(2), 0) Funds(fundsGP, fundsC) } - return Result(paramOr, archiveList, funds) + return Result(archiveList, funds) } fun parseArchiveUrl(body: String): String? { @@ -77,7 +74,7 @@ object ArchiveParser { // TODO: Check more errors } - data class Result(val paramOr: String?, val archiveList: List, val funds: Funds) + data class Result(val archiveList: List, val funds: Funds) } class Archive( diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/GalleryDetailScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/GalleryDetailScreen.kt index 5dd08711d..43e832467 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/GalleryDetailScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/screen/GalleryDetailScreen.kt @@ -173,7 +173,7 @@ fun AnimatedVisibilityScope.GalleryDetailScreen(args: GalleryDetailScreenArgs, n showSnackbar(signInFirst) } else { runSuspendCatching { - val (paramOr, archiveList, funds) = bgWork { archiveResult.await() } + val (archiveList, funds) = bgWork { archiveResult.await() } if (archiveList.isEmpty()) { showSnackbar(noArchive) } else { @@ -184,7 +184,7 @@ fun AnimatedVisibilityScope.GalleryDetailScreen(args: GalleryDetailScreenArgs, n onItemClick = { resume(it) }, ) } - EhEngine.downloadArchive(gid, token, paramOr, selected.res, selected.isHAtH)?.let { + EhEngine.downloadArchive(gid, token, selected.res, selected.isHAtH)?.let { val uri = Uri.parse(it) val intent = Intent().apply { action = Intent.ACTION_VIEW