feat: print number of unpacked files

This commit is contained in:
Santo Cariotti 2021-10-29 19:21:17 +02:00
parent 2d84686b25
commit 09c2830190

View File

@ -338,6 +338,8 @@ fn decompress_file(
utils::create_dir_if_non_existent(output_folder)?;
let files_unpacked;
match formats[0] {
Gzip | Bzip | Lzma | Zstd => {
reader = chain_reader_decoder(&formats[0], reader)?;
@ -346,25 +348,26 @@ fn decompress_file(
let mut writer = fs::File::create(&output_path)?;
io::copy(&mut reader, &mut writer)?;
files_unpacked = vec![output_path];
}
Tar => {
let _ = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
files_unpacked = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
}
Tgz => {
let reader = chain_reader_decoder(&Gzip, reader)?;
let _ = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
files_unpacked = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
}
Tbz => {
let reader = chain_reader_decoder(&Bzip, reader)?;
let _ = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
files_unpacked = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
}
Tlzma => {
let reader = chain_reader_decoder(&Lzma, reader)?;
let _ = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
files_unpacked = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
}
Tzst => {
let reader = chain_reader_decoder(&Zstd, reader)?;
let _ = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
files_unpacked = crate::archive::tar::unpack_archive(reader, output_folder, question_policy)?;
}
Zip => {
eprintln!("Compressing first into .zip.");
@ -378,11 +381,12 @@ fn decompress_file(
io::copy(&mut reader, &mut vec)?;
let zip_archive = zip::ZipArchive::new(io::Cursor::new(vec))?;
let _ = crate::archive::zip::unpack_archive(zip_archive, output_folder, question_policy)?;
files_unpacked = crate::archive::zip::unpack_archive(zip_archive, output_folder, question_policy)?;
}
}
info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder));
info!("Files unpacked: {}", files_unpacked.len());
Ok(())
}