diff --git a/app/src/main/rust/src/lib.rs b/app/src/main/rust/src/lib.rs index 99ddcee45..fc559bf91 100644 --- a/app/src/main/rust/src/lib.rs +++ b/app/src/main/rust/src/lib.rs @@ -43,7 +43,7 @@ trait Anon { impl<'a> Anon for VDom<'a> { fn get_first_element_by_class_name(&self, name: &str) -> Option<&Node> { let handle = self.get_elements_by_class_name(name).next()?; - Some(handle.get(self.parser())?) + handle.get(self.parser()) } } @@ -54,7 +54,7 @@ where let html = env.get_string(*str).ok()?; let dom = tl::parse(html.to_str().ok()?, tl::ParserOptions::default()).ok()?; let parser = dom.parser(); - Some(f(&dom, parser, env)?) + f(&dom, parser, env) } fn get_node_handle_attr<'a>( @@ -62,7 +62,7 @@ fn get_node_handle_attr<'a>( parser: &'a Parser, attr: &'a str, ) -> Option<&'a str> { - Some(get_node_attr(node.get(parser)?, attr)?) + get_node_attr(node.get(parser)?, attr) } fn get_node_attr<'a>(node: &'a Node<'_>, attr: &'a str) -> Option<&'a str> { @@ -78,7 +78,7 @@ fn query_childs_first_match_attr<'a>( ) -> Option<&'a str> { let selector = format!("[{}]", attr); let mut iter = node.as_tag()?.query_selector(parser, &selector)?; - Some(get_node_handle_attr(&iter.next()?, parser, attr)?) + get_node_handle_attr(&iter.next()?, parser, attr) } #[no_mangle] @@ -101,13 +101,11 @@ pub fn parseFav(env: JNIEnv, _class: JClass, input: JString, str: jobjectArray) let name = decode_html_entities(&cat); env.set_object_array_element(str, i as i32, env.new_string(name.trim()).ok()?) .ok()?; - Some( - children[1] + children[1] .get(parser)? .inner_text(parser) .parse::() - .ok()?, - ) + .ok() }) .collect(); if vec.len() == 10 { diff --git a/app/src/main/rust/src/parser/home.rs b/app/src/main/rust/src/parser/home.rs index 4884e1c85..7b8f93ddf 100644 --- a/app/src/main/rust/src/parser/home.rs +++ b/app/src/main/rust/src/parser/home.rs @@ -28,7 +28,7 @@ pub fn parseLimit(env: JNIEnv, _class: JClass, input: JString) -> jobject { .as_tag()? .query_selector(parser, "strong")?; let vec: Vec = iter - .filter_map(|e| Some(e.get(parser)?.inner_text(parser).parse::().ok()?)) + .filter_map(|e| e.get(parser)?.inner_text(parser).parse::().ok()) .collect(); Some(Limits { current: vec[0], diff --git a/app/src/main/rust/src/parser/list.rs b/app/src/main/rust/src/parser/list.rs index 5de0c7a4f..f228b7be8 100644 --- a/app/src/main/rust/src/parser/list.rs +++ b/app/src/main/rust/src/parser/list.rs @@ -59,13 +59,11 @@ fn parse_rating(str: &str) -> f32 { let reg = regex!("\\d+px"); let mut iter = reg.find_iter(str); let mut next = || { - Some( - iter.next()? + iter.next()? .as_str() .replace("px", "") .parse::() - .ok()?, - ) + .ok() }; match (next(), next()) { (Some(num1), Some(num2)) => { @@ -168,7 +166,7 @@ pub fn parseGalleryInfo(env: JNIEnv, _class: JClass, input: JString) -> jobject None => ("".to_string(), None), Some(node) => ( node.inner_text(parser).trim().to_string(), - get_node_attr(&node, "title").map(str::to_string), + get_node_attr(node, "title").map(str::to_string), ), }; let ir = dom