BATCH-DOWNLOADER-2
This commit is contained in:
2024-05-24 13:33:42 +02:00
parent 0e1e72258c
commit 2448305302

View File

@@ -98,13 +98,19 @@ pub async fn create_archive(
let books_count = books.len(); let books_count = books.len();
let mut bytes_count: u64 = 0; let mut bytes_count: u64 = 0;
let mut filenames: Vec<String> = vec![];
for (index, book) in books.iter().enumerate() { for (index, book) in books.iter().enumerate() {
let (mut tmp_file, filename) = match download(book.id, file_format.clone()).await { let (mut tmp_file, filename) = match download(book.id, file_format.clone()).await {
Ok(v) => v, Ok(v) => v,
Err(_) => continue, Err(_) => continue,
}; };
match archive.start_file::<std::string::String, ()>(filename, options) { if filenames.contains(&filename) {
continue;
}
match archive.start_file::<std::string::String, ()>(filename.clone(), options) {
Ok(_) => (), Ok(_) => (),
Err(err) => return Err(Box::new(err)), Err(err) => return Err(Box::new(err)),
}; };
@@ -114,6 +120,8 @@ pub async fn create_archive(
Err(err) => return Err(Box::new(err)), Err(err) => return Err(Box::new(err)),
}; };
filenames.push(filename);
set_progress_description( set_progress_description(
key.clone(), key.clone(),
format!("Загрузка книг: {}/{}", index + 1, books_count), format!("Загрузка книг: {}/{}", index + 1, books_count),