imag/imag-store/src/get.rs

28 lines
868 B
Rust
Raw Normal View History

2016-05-27 09:26:22 +00:00
use libimagstore::storeid::build_entry_path;
use libimagrt::runtime::Runtime;
use libimagerror::trace::{trace_error, trace_error_exit};
2016-05-27 09:26:22 +00:00
use retrieve::print_entry;
pub fn get(rt: &Runtime) {
rt.cli()
.subcommand_matches("get")
.map(|scmd| {
scmd.value_of("id")
.map(|id| {
2016-08-03 09:36:40 +00:00
let path = match build_entry_path(rt.store(), id) {
Err(e) => trace_error_exit(&e, 1),
Ok(p) => p,
};
2016-05-27 09:26:22 +00:00
debug!("path = {:?}", path);
match rt.store().get(path) {
Ok(Some(entry)) => print_entry(rt, scmd, entry),
Ok(None) => info!("No entry found"),
Err(e) => trace_error(&e),
}
})
});
}