From c4793a71f03b11e40ad0a1e0fec1cd44cc6bb34e Mon Sep 17 00:00:00 2001 From: Mariot Tsitoara Date: Sat, 2 Jan 2021 11:04:24 +0100 Subject: Fix main return type --- src/bin.rs | 54 +++++++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/src/bin.rs b/src/bin.rs index 8134d92..e38ca2f 100644 --- a/src/bin.rs +++ b/src/bin.rs @@ -20,7 +20,7 @@ fn main() { download_thread(thread, &output).unwrap(); } -fn download_thread(thread_link: &str, output: &str) -> Result<(), Error> { +fn download_thread(thread_link: &str, output: &str) -> Result { let client = Client::builder().user_agent("reqwest").build()?; let workpath = env::current_dir().unwrap(); @@ -34,32 +34,36 @@ fn download_thread(thread_link: &str, output: &str) -> Result<(), Error> { } } - match get_page_content(thread_link, &client) { + let page_string = match get_page_content(thread_link, &client) { Ok(page_string) => { - let (links_iter, number_of_links) = get_image_links(page_string.as_str()); - let pb = ProgressBar::new(number_of_links as u64); - pb.set_style(ProgressStyle::default_bar() - .template("{spinner:.green} [{elapsed_precise}] [{bar:40.cyan/blue}] {pos}/{len} {msg} ({eta})") - .progress_chars("#>-")); - pb.tick(); - for cap in links_iter.step_by(2) { - let img_path = directory.join(&cap[2]); - if !img_path.exists() { - match save_image( - format!("https:{}", &cap[1]).as_str(), - img_path.to_str().unwrap(), - &client, - ) { - Ok(_) => {} - Err(err) => eprintln!("Error: {}", err), - } - } - pb.set_message(&cap[2].to_string()); - pb.inc(1); - } - pb.finish_with_message("Done"); + page_string } Err(err) => eprintln!("Error: {}", err), + }; + let (links_iter, number_of_links) = get_image_links(page_string.as_str()); + let pb = ProgressBar::new(number_of_links as u64); + + pb.set_style(ProgressStyle::default_bar() + .template("{spinner:.green} [{elapsed_precise}] [{bar:40.cyan/blue}] {pos}/{len} {msg} ({eta})") + .progress_chars("#>-")); + pb.tick(); + + for cap in links_iter.step_by(2) { + let img_path = directory.join(&cap[2]); + if !img_path.exists() { + match save_image( + format!("https:{}", &cap[1]).as_str(), + img_path.to_str().unwrap(), + &client, + ) { + Ok(_) => {} + Err(err) => eprintln!("Error: {}", err), + } + } + pb.set_message(&cap[2].to_string()); + pb.inc(1); } - Ok(()) + pb.finish_with_message("Done"); + + Ok(format!("Downloaded: {} in {}", thread_link, output)) } -- cgit v1.2.3