From 5f7d77734245c0d65d88fdaf9a30178d605fa672 Mon Sep 17 00:00:00 2001 From: TATSUNO Yasuhiro Date: Wed, 20 Oct 2021 12:57:11 +0900 Subject: [PATCH] Change display of current directory (#119) --- src/commands.rs | 17 +++++++++-------- src/utils.rs | 9 +++++++++ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/commands.rs b/src/commands.rs index 66408c6..c6fc62d 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -19,6 +19,7 @@ use crate::{ CompressionFormat::{self, *}, }, info, oof, + utils::nice_directory_display, utils::to_utf, utils::{self, dir_is_empty}, Error, @@ -318,7 +319,7 @@ fn decompress_file( utils::create_dir_if_non_existent(output_folder)?; let zip_archive = zip::ZipArchive::new(reader)?; let _files = crate::archive::zip::unpack_archive(zip_archive, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); return Ok(()); } @@ -352,31 +353,31 @@ fn decompress_file( let mut writer = fs::File::create(&output_path)?; io::copy(&mut reader, &mut writer)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_path)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_path)); } Tar => { let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); } Tgz => { let reader = chain_reader_decoder(&Gzip, reader)?; let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); } Tbz => { let reader = chain_reader_decoder(&Bzip, reader)?; let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); } Tlzma => { let reader = chain_reader_decoder(&Lzma, reader)?; let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); } Tzst => { let reader = chain_reader_decoder(&Zstd, reader)?; let _ = crate::archive::tar::unpack_archive(reader, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); } Zip => { eprintln!("Compressing first into .zip."); @@ -392,7 +393,7 @@ fn decompress_file( let _ = crate::archive::zip::unpack_archive(zip_archive, output_folder, flags)?; - info!("Successfully decompressed archive in '{}'.", to_utf(output_folder)); + info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder)); } } diff --git a/src/utils.rs b/src/utils.rs index 4a5d617..01fe9c1 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -55,6 +55,15 @@ pub fn to_utf(os_str: impl AsRef) -> String { text.trim_matches('"').to_string() } +pub fn nice_directory_display(os_str: impl AsRef) -> String { + let text = to_utf(os_str); + if text == "." { + "current directory".to_string() + } else { + format!("'{}'", text) + } +} + pub struct Bytes { bytes: f64, }