This commit is contained in:
jamesk 2024-03-18 18:04:24 -04:00
parent f6a7695561
commit 942f4f69a8
2 changed files with 16 additions and 7 deletions

View File

@ -1,19 +1,24 @@
use Fasching::create_snapshot;
use Fasching::hasher::HashType::BLAKE3;
use Fasching::snapshot::Snapshot;
use crate::syscompare::Comparer;
pub struct CreateMode {
path: String,
in_path: String,
out_path: String,
args: Vec<String>,
snapshot: Snapshot
}
impl CreateMode {
pub fn new(path: &String) -> CreateMode {
CreateMode { path: "".to_string(), snapshot: Default::default() }
pub fn new(args: Vec<String>, in_path: String, out_path: String) -> CreateMode {
CreateMode { in_path, out_path, args, snapshot: Default::default() }
}
}
impl Comparer for CreateMode {
fn run(&self) {
let snapshot = create_snapshot(self.in_path.as_str(), BLAKE3);
println!("{}", snapshot.file_hashes.lock().unwrap().len())
}
}

View File

@ -24,11 +24,15 @@ impl SysCompareApp {
println!("running");
match self.mode {
CompareMode::Create => {
let path = match self.args.get(2) {
None => {panic!("Missing creation path as second argument")}
let in_path = match self.args.get(2) {
None => {panic!("Missing hash dir path as second argument")}
Some(r) => {r}
};
let create = CreateMode::new(path);
let out_path = match self.args.get(3) {
None => {panic!("Missing output path as third argument")}
Some(r) => {r}
};
let create = CreateMode::new(self.args.clone(), in_path.clone(), out_path.clone());
create.run()
}
CompareMode::Compare => {}