feat: decompress with count

This commit is contained in:
MisileLaboratory 2023-04-17 13:23:55 +00:00 committed by João Marcos
parent 77c968fb2d
commit 862181ae0a
2 changed files with 6 additions and 1 deletions

View File

@ -166,7 +166,7 @@ pub fn decompress_file(
}, },
SevenZip => { SevenZip => {
sevenz_rust::decompress_file(input_file_path, output_dir).expect("can't decompress"); sevenz_rust::decompress_file(input_file_path, output_dir).expect("can't decompress");
1 fs::read_dir(output_dir)?.count()
} }
}; };

View File

@ -34,6 +34,8 @@ pub enum Error {
Custom { reason: FinalError }, Custom { reason: FinalError },
/// Invalid format passed to `--format` /// Invalid format passed to `--format`
InvalidFormat { reason: String }, InvalidFormat { reason: String },
/// From sevenz_rust::Error
SevenzipError(sevenz_rust::Error)
} }
/// Alias to std's Result with ouch's Error /// Alias to std's Result with ouch's Error
@ -139,6 +141,9 @@ impl fmt::Display for Error {
Error::UnsupportedZipArchive(reason) => FinalError::with_title("Unsupported zip archive").detail(*reason), Error::UnsupportedZipArchive(reason) => FinalError::with_title("Unsupported zip archive").detail(*reason),
Error::InvalidFormat { reason } => FinalError::with_title("Invalid archive format").detail(reason.clone()), Error::InvalidFormat { reason } => FinalError::with_title("Invalid archive format").detail(reason.clone()),
Error::Custom { reason } => reason.clone(), Error::Custom { reason } => reason.clone(),
Error::SevenzipError( reason ) => {
FinalError::with_title("7z error").detail(reason.to_string())
},
}; };
write!(f, "{err}") write!(f, "{err}")