🚧 Adds searching algorithm
Signed-off-by: Ash Svitan <selfsigned-ash@proton.me>
This commit is contained in:
+46
-2
@@ -41,14 +41,58 @@ fn main() -> Result<(), Error> {
|
||||
}
|
||||
};
|
||||
|
||||
let pass_items = pass::get_items(&vault)?.items;
|
||||
let mut pass_items = pass::get_items(&vault)?.items;
|
||||
println!("{:?}", pass_items[0]);
|
||||
println!("{}", pass_items.len());
|
||||
|
||||
let rbw_items_partial = rbw::get_items()?;
|
||||
let rbw_items = rbw::get_login_items(rbw_items_partial)?;
|
||||
let mut rbw_items = rbw::get_login_items(rbw_items_partial)?;
|
||||
println!("{:?}", rbw_items[0]);
|
||||
println!("{}", rbw_items.len());
|
||||
|
||||
for rbw_item in rbw_items.clone().iter() {
|
||||
let mut pass_item: Option<&pass::Item> = None;
|
||||
|
||||
'inner: for pass_item_iter in pass_items.iter() {
|
||||
if rbw_item.name == pass_item_iter.content.title {
|
||||
println!("found match! {}", rbw_item.name);
|
||||
pass_item = Some(pass_item_iter);
|
||||
break 'inner;
|
||||
}
|
||||
}
|
||||
|
||||
if let None = pass_item {
|
||||
println!("no match found for {}!", rbw_item.name);
|
||||
continue;
|
||||
}
|
||||
let pass_item = pass_item.unwrap();
|
||||
|
||||
let rbw_password = rbw_item.password.clone();
|
||||
let pass_password = pass_item
|
||||
.clone()
|
||||
.content
|
||||
.content
|
||||
.login
|
||||
.clone()
|
||||
.unwrap()
|
||||
.password;
|
||||
if rbw_password == pass_password {
|
||||
let rbw_index = rbw_items.iter().position(|x| x.id == rbw_item.id).unwrap();
|
||||
rbw_items.remove(rbw_index);
|
||||
|
||||
let pass_index = pass_items.iter().position(|x| x.id == pass_item.id).unwrap();
|
||||
pass_items.remove(pass_index);
|
||||
continue;
|
||||
} else {
|
||||
println!(
|
||||
"password doesn't match! '{}' / '{}'",
|
||||
rbw_password, pass_password
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
println!("remaining {} rbw items", rbw_items.len());
|
||||
println!("remaining {} pass items", pass_items.len());
|
||||
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user