mirror of
https://github.com/ouch-org/ouch.git
synced 2025-06-06 19:45:29 +00:00
Remove the variants from CompressionFormat
This commit is contained in:
parent
bdf5090844
commit
02657ee5bc
@ -222,26 +222,6 @@ fn compress_files(files: Vec<PathBuf>, formats: Vec<CompressionFormat>, output_f
|
|||||||
let mut writer = archive::tar::build_archive_from_paths(&files, writer)?;
|
let mut writer = archive::tar::build_archive_from_paths(&files, writer)?;
|
||||||
writer.flush()?;
|
writer.flush()?;
|
||||||
}
|
}
|
||||||
Tgz => {
|
|
||||||
let encoder = flate2::write::GzEncoder::new(writer, Default::default());
|
|
||||||
let writer = archive::tar::build_archive_from_paths(&files, encoder)?;
|
|
||||||
writer.finish()?.flush()?;
|
|
||||||
}
|
|
||||||
Tbz => {
|
|
||||||
let encoder = bzip2::write::BzEncoder::new(writer, Default::default());
|
|
||||||
let writer = archive::tar::build_archive_from_paths(&files, encoder)?;
|
|
||||||
writer.finish()?.flush()?;
|
|
||||||
}
|
|
||||||
Tlzma => {
|
|
||||||
let encoder = xz2::write::XzEncoder::new(writer, 6);
|
|
||||||
let writer = archive::tar::build_archive_from_paths(&files, encoder)?;
|
|
||||||
writer.finish()?.flush()?;
|
|
||||||
}
|
|
||||||
Tzst => {
|
|
||||||
let encoder = zstd::stream::write::Encoder::new(writer, Default::default())?;
|
|
||||||
let writer = archive::tar::build_archive_from_paths(&files, encoder)?;
|
|
||||||
writer.finish()?.flush()?;
|
|
||||||
}
|
|
||||||
Zip => {
|
Zip => {
|
||||||
eprintln!("{yellow}Warning:{reset}", yellow = *colors::YELLOW, reset = *colors::RESET);
|
eprintln!("{yellow}Warning:{reset}", yellow = *colors::YELLOW, reset = *colors::RESET);
|
||||||
eprintln!("\tCompressing .zip entirely in memory.");
|
eprintln!("\tCompressing .zip entirely in memory.");
|
||||||
@ -334,26 +314,6 @@ fn decompress_file(
|
|||||||
let _ = crate::archive::tar::unpack_archive(reader, output_folder, skip_questions_positively)?;
|
let _ = crate::archive::tar::unpack_archive(reader, output_folder, skip_questions_positively)?;
|
||||||
info!("Successfully decompressed archive in {}.", nice_directory_display(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, skip_questions_positively)?;
|
|
||||||
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, skip_questions_positively)?;
|
|
||||||
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, skip_questions_positively)?;
|
|
||||||
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, skip_questions_positively)?;
|
|
||||||
info!("Successfully decompressed archive in {}.", nice_directory_display(output_folder));
|
|
||||||
}
|
|
||||||
Zip => {
|
Zip => {
|
||||||
eprintln!("Compressing first into .zip.");
|
eprintln!("Compressing first into .zip.");
|
||||||
eprintln!("Warning: .zip archives with extra extensions have a downside.");
|
eprintln!("Warning: .zip archives with extra extensions have a downside.");
|
||||||
|
@ -11,17 +11,13 @@ pub enum CompressionFormat {
|
|||||||
Bzip, // .bz
|
Bzip, // .bz
|
||||||
Lzma, // .lzma
|
Lzma, // .lzma
|
||||||
Tar, // .tar (technically not a compression extension, but will do for now)
|
Tar, // .tar (technically not a compression extension, but will do for now)
|
||||||
Tgz, // .tgz
|
|
||||||
Tbz, // .tbz
|
|
||||||
Tlzma, // .tlzma
|
|
||||||
Tzst, // .tzst
|
|
||||||
Zstd, // .zst
|
Zstd, // .zst
|
||||||
Zip, // .zip
|
Zip, // .zip
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CompressionFormat {
|
impl CompressionFormat {
|
||||||
pub fn is_archive_format(&self) -> bool {
|
pub fn is_archive_format(&self) -> bool {
|
||||||
matches!(self, Tar | Tgz | Tbz | Tlzma | Tzst | Zip)
|
matches!(self, Tar | Zip)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,10 +32,6 @@ impl fmt::Display for CompressionFormat {
|
|||||||
Zstd => ".zst",
|
Zstd => ".zst",
|
||||||
Lzma => ".lz",
|
Lzma => ".lz",
|
||||||
Tar => ".tar",
|
Tar => ".tar",
|
||||||
Tgz => ".tgz",
|
|
||||||
Tbz => ".tbz",
|
|
||||||
Tlzma => ".tlz",
|
|
||||||
Tzst => ".tzst",
|
|
||||||
Zip => ".zip",
|
Zip => ".zip",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -61,10 +53,10 @@ pub fn separate_known_extensions_from_name(mut path: &Path) -> (&Path, Vec<Compr
|
|||||||
while let Some(extension) = path.extension().and_then(OsStr::to_str) {
|
while let Some(extension) = path.extension().and_then(OsStr::to_str) {
|
||||||
extensions.push(match extension {
|
extensions.push(match extension {
|
||||||
"tar" => Tar,
|
"tar" => Tar,
|
||||||
"tgz" => Tgz,
|
// "tgz" => Tgz,
|
||||||
"tbz" | "tbz2" => Tbz,
|
// "tbz" | "tbz2" => Tbz,
|
||||||
"txz" | "tlz" | "tlzma" => Tlzma,
|
// "txz" | "tlz" | "tlzma" => Tlzma,
|
||||||
"tzst" => Tzst,
|
// "tzst" => Tzst,
|
||||||
"zip" => Zip,
|
"zip" => Zip,
|
||||||
"bz" | "bz2" => Bzip,
|
"bz" | "bz2" => Bzip,
|
||||||
"gz" => Gzip,
|
"gz" => Gzip,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user