Refactor a bit more for the multi output feature.
This commit is contained in:
+20
-17
@@ -154,24 +154,27 @@ impl<'a> LKEval<'a> {
|
|||||||
|
|
||||||
fn cmd_enc(&self, out: &mut Vec<String>, name: &String) {
|
fn cmd_enc(&self, out: &mut Vec<String>, name: &String) {
|
||||||
let root_folder = Rc::new("/".to_string());
|
let root_folder = Rc::new("/".to_string());
|
||||||
if name == "/" && self.state.borrow().secrets.contains_key(&root_folder) {
|
let pass = if name == "/" && self.state.borrow().secrets.contains_key(&root_folder) {
|
||||||
out.push(self.state.borrow().secrets.get(&root_folder).unwrap().to_string());
|
self.state.borrow().secrets.get(&root_folder).unwrap().to_string()
|
||||||
return;
|
|
||||||
}
|
|
||||||
let pwd = match self.get_password(name) {
|
|
||||||
Some(p) => p.clone(),
|
|
||||||
None => {
|
|
||||||
out.push(format!("error: name {} not found", name));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let name = pwd.borrow().name.clone();
|
|
||||||
let pass = if self.state.borrow().secrets.contains_key(&name) {
|
|
||||||
self.state.borrow().secrets.get(&name).unwrap().to_string()
|
|
||||||
} else {
|
} else {
|
||||||
match self.read_master(pwd.clone(), true) {
|
let pwd = match self.get_password(name) {
|
||||||
Some(sec) => pwd.borrow().encode(sec.as_str()),
|
Some(p) => p.clone(),
|
||||||
None => { out.push(format!("error: master for {} not found", pwd.borrow().name)); return; }
|
None => {
|
||||||
|
out.push(format!("error: name {} not found", name));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
let name = pwd.borrow().name.clone();
|
||||||
|
if self.state.borrow().secrets.contains_key(&name) {
|
||||||
|
self.state.borrow().secrets.get(&name).unwrap().to_string()
|
||||||
|
} else {
|
||||||
|
match self.read_master(pwd.clone(), true) {
|
||||||
|
Some(sec) => pwd.borrow().encode(sec.as_str()),
|
||||||
|
None => {
|
||||||
|
out.push(format!("error: master for {} not found", pwd.borrow().name));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
out.push(pass);
|
out.push(pass);
|
||||||
|
|||||||
Reference in New Issue
Block a user