This commit is contained in:
mxve 2023-12-18 16:51:20 +01:00
parent 0728561eca
commit e4de326b41
3 changed files with 24 additions and 2 deletions

2
Cargo.lock generated
View File

@ -28,7 +28,7 @@ dependencies = [
[[package]] [[package]]
name = "alterware-launcher" name = "alterware-launcher"
version = "0.6.3" version = "0.6.4"
dependencies = [ dependencies = [
"colored", "colored",
"futures-util", "futures-util",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "alterware-launcher" name = "alterware-launcher"
version = "0.6.3" version = "0.6.4"
edition = "2021" edition = "2021"
build = "res/build.rs" build = "res/build.rs"

22
src/fileop.rs Normal file
View File

@ -0,0 +1,22 @@
use std::{fs, path::Path};
pub fn unzip(zip_path: &Path, out_path: &Path) {
let mut archive = zip::ZipArchive::new(fs::File::open(zip_path).unwrap()).unwrap();
for i in 0..archive.len() {
let mut file = archive.by_index(i).unwrap();
let outpath = out_path.join(file.name());
if (*file.name()).ends_with('/') {
fs::create_dir_all(outpath).unwrap();
} else {
println!("Unpacking {}", file.name());
if let Some(p) = outpath.parent() {
if !p.exists() {
fs::create_dir_all(p).unwrap();
}
}
let mut outfile = fs::File::create(&outpath).unwrap();
std::io::copy(&mut file, &mut outfile).unwrap();
}
}
}