From 862181ae0a5162a9e1aae85d4711fa8f8fad48c3 Mon Sep 17 00:00:00 2001 From: MisileLaboratory Date: Mon, 17 Apr 2023 13:23:55 +0000 Subject: [PATCH] feat: decompress with count --- src/commands/decompress.rs | 2 +- src/error.rs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/commands/decompress.rs b/src/commands/decompress.rs index d7243cc..e1392a3 100644 --- a/src/commands/decompress.rs +++ b/src/commands/decompress.rs @@ -166,7 +166,7 @@ pub fn decompress_file( }, SevenZip => { sevenz_rust::decompress_file(input_file_path, output_dir).expect("can't decompress"); - 1 + fs::read_dir(output_dir)?.count() } }; diff --git a/src/error.rs b/src/error.rs index 896f383..3e755ea 100644 --- a/src/error.rs +++ b/src/error.rs @@ -34,6 +34,8 @@ pub enum Error { Custom { reason: FinalError }, /// Invalid format passed to `--format` InvalidFormat { reason: String }, + /// From sevenz_rust::Error + SevenzipError(sevenz_rust::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::InvalidFormat { reason } => FinalError::with_title("Invalid archive format").detail(reason.clone()), Error::Custom { reason } => reason.clone(), + Error::SevenzipError( reason ) => { + FinalError::with_title("7z error").detail(reason.to_string()) + }, }; write!(f, "{err}")