From c00673fd0e01d1438798dbb1635a761a76a2b559 Mon Sep 17 00:00:00 2001 From: fxqnlr Date: Sun, 20 Nov 2022 23:54:20 +0100 Subject: extracted filedownload to fn; fixed some tests; added direct-dl to update --- src/commands/download.rs | 39 +++++++-------------------------------- 1 file changed, 7 insertions(+), 32 deletions(-) (limited to 'src/commands/download.rs') diff --git a/src/commands/download.rs b/src/commands/download.rs index db0fc93..82d6b02 100644 --- a/src/commands/download.rs +++ b/src/commands/download.rs @@ -1,9 +1,3 @@ -use std::{io::Write, fs::File}; - -use reqwest::Client; - -use futures_util::StreamExt; - use crate::{List, get_current_list, config::Cfg, db::userlist_get_all_downloads, input::Input}; pub async fn download(config: Cfg, input: Input) -> Result<(), Box> { @@ -16,9 +10,11 @@ pub async fn download(config: Cfg, input: Input) -> Result<(), Box) -> Result> { - - let dl_path = String::from(&config.downloads); +async fn download_links(_config: Cfg, _input: Input, _current_list: List, _links: Vec) -> Result> { + println!("NO DL IMPLEMENTATION FOR DOWNLOAD YET"); + //TODO copy dl from update if possible + /* + let dl_path = String::from(¤t_list.download_folder); if input.clean { let dl_path = ¤t_list.download_folder; @@ -28,28 +24,7 @@ async fn download_links(config: Cfg, input: Input, current_list: List, links: Ve std::fs::remove_file(entry.path())?; } } + */ - for link in links { - let filename = link.split('/').last().unwrap(); - let dl_path_file = format!("{}/{}", config.downloads, filename); - println!("Downloading {}", link); - - let res = Client::new() - .get(String::from(&link)) - .send() - .await - .or(Err(format!("Failed to GET from '{}'", &link)))?; - - // download chunks - let mut file = File::create(String::from(&dl_path_file)).or(Err(format!("Failed to create file '{}'", dl_path_file)))?; - let mut stream = res.bytes_stream(); - - while let Some(item) = stream.next().await { - let chunk = item.or(Err("Error while downloading file"))?; - file.write_all(&chunk) - .or(Err("Error while writing to file"))?; - } - } - - Ok(dl_path) + Ok(String::new()) } -- cgit v1.2.3