1
0
Fork 0

Refactor + Remove structopt

This commit is contained in:
Florian RICHER (MrDev023) 2021-08-09 20:19:10 +02:00
parent 988c78b615
commit c6e652c12b
24 changed files with 163 additions and 338 deletions

View file

@ -0,0 +1,18 @@
use std::path::{PathBuf};
mod zip;
mod tar;
pub fn extract_file(path: &PathBuf, outdir: &str) -> Result<(), String> {
let file_extension = path.extension()
.ok_or(format!("Failed to get extension"))?
.to_str()
.ok_or(format!("Failed to convert extension to &str"))?;
match file_extension {
"zip" => Ok(zip::extract_file(&path, outdir).ok_or(format!("Extract failed"))?),
"bz2" => Ok(zip::extract_file(&path, outdir).ok_or(format!("Extract failed"))?),
"tar" => Ok(tar::extract_file(&path, outdir).ok_or(format!("Extract failed"))?),
"gz" => Ok(tar::extract_file(&path, outdir).ok_or(format!("Extract failed"))?),
_ => Err(format!("Format not supported"))
}
}