From 8f8db82e9d48d9ac76b0010d657a4c024a6cef50 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sat, 16 Mar 2024 17:48:10 +0800 Subject: [PATCH] Fix disowned gallery uploader parsing (#918) * Fix disowned gallery uploader parsing * Run rustfmt * Refine * Run rustfmt --- app/src/main/rust/src/parser/list.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/rust/src/parser/list.rs b/app/src/main/rust/src/parser/list.rs index 2c45222ce..ec6a8c86b 100644 --- a/app/src/main/rust/src/parser/list.rs +++ b/app/src/main/rust/src/parser/list.rs @@ -96,9 +96,16 @@ fn parse_token_and_gid(str: &str) -> Option<(i64, String)> { } fn parse_uploader_and_pages(str: &str) -> (Option, bool, i32) { - let uploader = regex!(r#"(.*?)"#) - .captures(str) - .map(|grp| grp[1].to_string()); + let uploader = + regex!(r#"(.*?)|(\(Disowned\))"#) + .captures(str) + .map(|grp| { + grp.get(1) + .or_else(|| grp.get(2)) + .unwrap() + .as_str() + .to_string() + }); let pages = match regex!(r"
(\d+) pages
").captures(str) { None => 0, Some(grp) => grp[1].parse().unwrap_or(0),