From 760515e720a72d7dd5d73b44b7271aec8917d703 Mon Sep 17 00:00:00 2001 From: Ken Snyder Date: Fri, 18 Feb 2022 10:20:08 -0800 Subject: [PATCH] chore(scraper): changes made based on review comments --- packages/scraper/src/document.rs | 19 ++++++++++++------- packages/scraper/src/elements.rs | 19 ++++++++++--------- packages/scraper/src/main.rs | 2 +- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/packages/scraper/src/document.rs b/packages/scraper/src/document.rs index 96b6a7a..bdf2bb9 100644 --- a/packages/scraper/src/document.rs +++ b/packages/scraper/src/document.rs @@ -110,12 +110,17 @@ pub struct Document { impl Document { pub fn new(url: &str) -> Document { - let url = match url.starts_with("http") { - true => url.to_string(), - false => ["https://", url].join(""), - }; - - Document { url, data: None } + if url.starts_with("http") { + Document { + url: url.to_string(), + data: None, + } + } else { + Document { + url: ["https://", url].join(""), + data: None, + } + } } /// Loads the HTTP page over the network and saves as a string @@ -322,7 +327,7 @@ impl ParsedDoc { pub fn child_selectors(mut self, selectors: Vec<&str>, scope: ChildScope) -> Self { let new_selectors: Vec<(String, ChildScope)> = selectors .iter() - .map(|s| (s.to_string(), scope.clone())) + .map(|s| ((*s).to_string(), scope.clone())) .collect(); new_selectors diff --git a/packages/scraper/src/elements.rs b/packages/scraper/src/elements.rs index 3ad1da0..53847bc 100644 --- a/packages/scraper/src/elements.rs +++ b/packages/scraper/src/elements.rs @@ -33,11 +33,10 @@ pub fn text(el: &ElementRef) -> Option { } pub fn html(el: &ElementRef) -> Option { - let html = el.inner_html(); - if html.is_empty() { + if el.inner_html().is_empty() { None } else { - Some(html) + Some(el.inner_html().trim().to_string()) } } @@ -62,12 +61,14 @@ pub fn type_(el: &ElementRef) -> Option { } pub fn disabled(el: &ElementRef) -> Option { - match el.value().attr("disabled") { - Some(v) => match v { - "true" => Some(true), - _ => Some(false), - }, - None => None, + if let Some(d) = el.value().attr("disabled") { + if d == "true" { + Some(true) + } else { + Some(false) + } + } else { + None } } diff --git a/packages/scraper/src/main.rs b/packages/scraper/src/main.rs index f3d5480..56db77e 100644 --- a/packages/scraper/src/main.rs +++ b/packages/scraper/src/main.rs @@ -19,7 +19,7 @@ struct Args { follow: bool, #[clap(long)] - /// Show the structs discovered + /// Show a selector as part of console output show: Option, } pub mod document;