From 2448305302f16390778e94a4ffb1859e4b000452 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Fri, 24 May 2024 13:33:42 +0200 Subject: [PATCH] Fix BATCH-DOWNLOADER-2 --- src/services/task_creator.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/services/task_creator.rs b/src/services/task_creator.rs index a8580b8..a143a48 100644 --- a/src/services/task_creator.rs +++ b/src/services/task_creator.rs @@ -98,13 +98,19 @@ pub async fn create_archive( let books_count = books.len(); let mut bytes_count: u64 = 0; + let mut filenames: Vec = vec![]; + for (index, book) in books.iter().enumerate() { let (mut tmp_file, filename) = match download(book.id, file_format.clone()).await { Ok(v) => v, Err(_) => continue, }; - match archive.start_file::(filename, options) { + if filenames.contains(&filename) { + continue; + } + + match archive.start_file::(filename.clone(), options) { Ok(_) => (), Err(err) => return Err(Box::new(err)), }; @@ -114,6 +120,8 @@ pub async fn create_archive( Err(err) => return Err(Box::new(err)), }; + filenames.push(filename); + set_progress_description( key.clone(), format!("Загрузка книг: {}/{}", index + 1, books_count),