From 383332bfbbbb51a072fdd9c15a3152f9a6376a3a Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Tue, 27 Aug 2024 07:37:05 +0800 Subject: [PATCH] Fix account-based image limit parsing (#1565) * Fix account-based image limit parsing * Fix format --- .../com/hippo/ehviewer/client/EhEngine.kt | 2 +- app/src/main/rust/src/parser/home.rs | 22 ++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) 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 9c26a8fb2..67952a859 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/client/EhEngine.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/client/EhEngine.kt @@ -333,7 +333,7 @@ object EhEngine { suspend fun resetImageLimits() = ehRequest(EhUrl.URL_HOME) { formBody { - append("reset_imagelimit", "Reset Limit") + append("reset_imagelimit", "Reset Quota") } }.fetchUsingAsText(HomeParser::parseResetLimits) diff --git a/app/src/main/rust/src/parser/home.rs b/app/src/main/rust/src/parser/home.rs index 515fa9624..4b0605f7b 100644 --- a/app/src/main/rust/src/parser/home.rs +++ b/app/src/main/rust/src/parser/home.rs @@ -21,13 +21,23 @@ fn parse_limit(dom: &VDom, parser: &Parser) -> Option { .as_tag()? .query_selector(parser, "strong")?; let vec: Vec = iter - .filter_map(|e| e.get(parser)?.inner_text(parser).parse::().ok()) + .filter_map(|e| { + e.get(parser)? + .inner_text(parser) + .replace(",", "") + .parse::() + .ok() + }) .collect(); - Some(Limits { - current: vec[0], - maximum: vec[1], - resetCost: vec[2], - }) + if vec.len() == 3 { + Some(Limits { + current: vec[0], + maximum: vec[1], + resetCost: vec[2], + }) + } else { + None + } } #[no_mangle]