Implement view()
This commit is contained in:
parent
7f4a721897
commit
f6971c6896
2 changed files with 33 additions and 0 deletions
|
@ -18,6 +18,9 @@ path = "../libimagdiary"
|
||||||
[dependencies.libimagentrylist]
|
[dependencies.libimagentrylist]
|
||||||
path = "../libimagentrylist"
|
path = "../libimagentrylist"
|
||||||
|
|
||||||
|
[dependencies.libimagentryview]
|
||||||
|
path = "../libimagentryview"
|
||||||
|
|
||||||
[dependencies.libimagerror]
|
[dependencies.libimagerror]
|
||||||
path = "../libimagerror"
|
path = "../libimagerror"
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ extern crate chrono;
|
||||||
|
|
||||||
extern crate libimagdiary;
|
extern crate libimagdiary;
|
||||||
extern crate libimagentrylist;
|
extern crate libimagentrylist;
|
||||||
|
extern crate libimagentryview;
|
||||||
extern crate libimaginteraction;
|
extern crate libimaginteraction;
|
||||||
extern crate libimagrt;
|
extern crate libimagrt;
|
||||||
extern crate libimagstore;
|
extern crate libimagstore;
|
||||||
|
@ -22,12 +23,15 @@ use libimagdiary::error::DiaryError as DE;
|
||||||
use libimagdiary::error::DiaryErrorKind as DEK;
|
use libimagdiary::error::DiaryErrorKind as DEK;
|
||||||
use libimagentrylist::listers::core::CoreLister;
|
use libimagentrylist::listers::core::CoreLister;
|
||||||
use libimagentrylist::lister::Lister;
|
use libimagentrylist::lister::Lister;
|
||||||
|
use libimagentryview::viewer::Viewer;
|
||||||
|
use libimagentryview::builtin::plain::PlainViewer;
|
||||||
use libimagrt::edit::Edit;
|
use libimagrt::edit::Edit;
|
||||||
use libimagrt::runtime::Runtime;
|
use libimagrt::runtime::Runtime;
|
||||||
use libimagstore::storeid::StoreId;
|
use libimagstore::storeid::StoreId;
|
||||||
use libimagerror::trace::trace_error;
|
use libimagerror::trace::trace_error;
|
||||||
use libimagtimeui::datetime::DateTime;
|
use libimagtimeui::datetime::DateTime;
|
||||||
use libimagtimeui::parse::Parse;
|
use libimagtimeui::parse::Parse;
|
||||||
|
use libimagstore::store::FileLockEntry;
|
||||||
|
|
||||||
mod ui;
|
mod ui;
|
||||||
|
|
||||||
|
@ -59,6 +63,7 @@ fn main() {
|
||||||
"edit" => edit(&rt),
|
"edit" => edit(&rt),
|
||||||
"list" => list(&rt),
|
"list" => list(&rt),
|
||||||
"diary" => diary(&rt),
|
"diary" => diary(&rt),
|
||||||
|
"view" => view(&rt),
|
||||||
_ => {
|
_ => {
|
||||||
debug!("Unknown command"); // More error handling
|
debug!("Unknown command"); // More error handling
|
||||||
},
|
},
|
||||||
|
@ -293,6 +298,31 @@ fn diary(rt: &Runtime) {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn view(rt: &Runtime) {
|
||||||
|
let diaryname = get_diary_name(rt);
|
||||||
|
if diaryname.is_none() {
|
||||||
|
warn!("No diary name");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
let diaryname = diaryname.unwrap();
|
||||||
|
let diary = Diary::open(rt.store(), &diaryname[..]);
|
||||||
|
let show_header = rt.cli().subcommand_matches("view").unwrap().is_present("show-header");
|
||||||
|
|
||||||
|
match diary.entries() {
|
||||||
|
Ok(entries) => {
|
||||||
|
let pv = PlainViewer::new(show_header);
|
||||||
|
for entry in entries.into_iter().filter_map(Result::ok) {
|
||||||
|
let id = entry.diary_id();
|
||||||
|
println!("{} :\n", id);
|
||||||
|
pv.view_entry(&entry);
|
||||||
|
println!("\n---\n");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Err(e) => {
|
||||||
|
trace_error(&e);
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn get_diary_name(rt: &Runtime) -> Option<String> {
|
fn get_diary_name(rt: &Runtime) -> Option<String> {
|
||||||
use libimagdiary::config::get_default_diary_name;
|
use libimagdiary::config::get_default_diary_name;
|
||||||
|
|
Loading…
Reference in a new issue