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 Fasching::snapshot::Snapshot;
use crate::syscompare::Comparer; use crate::syscompare::Comparer;
pub struct CreateMode { pub struct CreateMode {
path: String, in_path: String,
out_path: String,
args: Vec<String>,
snapshot: Snapshot snapshot: Snapshot
} }
impl CreateMode { impl CreateMode {
pub fn new(path: &String) -> CreateMode { pub fn new(args: Vec<String>, in_path: String, out_path: String) -> CreateMode {
CreateMode { path: "".to_string(), snapshot: Default::default() } CreateMode { in_path, out_path, args, snapshot: Default::default() }
} }
} }
impl Comparer for CreateMode { impl Comparer for CreateMode {
fn run(&self) { 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"); println!("running");
match self.mode { match self.mode {
CompareMode::Create => { CompareMode::Create => {
let path = match self.args.get(2) { let in_path = match self.args.get(2) {
None => {panic!("Missing creation path as second argument")} None => {panic!("Missing hash dir path as second argument")}
Some(r) => {r} 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() create.run()
} }
CompareMode::Compare => {} CompareMode::Compare => {}