summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-07-15 15:02:00 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-07-15 16:05:17 +0200
commitb88e95f88163d22a8b18262590919fd4818b1392 (patch)
treee38539aec2c3b726adb7c88f3b9ea2c97b3ae059
parent58047d319a0aaa82fd9da7c4cc4857ca65ef53f6 (diff)
Add TimeTracking::get_timetrack_tag()
-rw-r--r--libimagentrytimetrack/src/timetracking.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/libimagentrytimetrack/src/timetracking.rs b/libimagentrytimetrack/src/timetracking.rs
index 6ee2c105..a2d21e04 100644
--- a/libimagentrytimetrack/src/timetracking.rs
+++ b/libimagentrytimetrack/src/timetracking.rs
@@ -29,6 +29,7 @@ use chrono::naive::datetime::NaiveDateTime;
use libimagstore::store::Entry;
use libimagerror::into::IntoError;
+use tag::TimeTrackingTag as TTT;
use error::TimeTrackErrorKind as TTEK;
use error::MapErrInto;
use result::Result;
@@ -41,6 +42,8 @@ use toml_query::read::TomlValueReadExt;
pub trait TimeTracking {
+ fn get_timetrack_tag(&self) -> Result<TTT>;
+
fn set_start_datetime(&mut self, dt: NaiveDateTime) -> Result<()>;
fn get_start_datetime(&self) -> Result<Option<NaiveDateTime>>;
@@ -59,6 +62,16 @@ pub trait TimeTracking {
impl TimeTracking for Entry {
+ fn get_timetrack_tag(&self) -> Result<TTT> {
+ self.get_header()
+ .read(DATE_TIME_TAG_HEADER_PATH)
+ .map_err_into(TTEK::HeaderReadError)
+ .map(|value| match value {
+ Some(&Value::String(ref s)) => s.clone().into(),
+ _ => unimplemented!(),
+ })
+ }
+
fn set_start_datetime(&mut self, dt: NaiveDateTime) -> Result<()> {
let s = dt.format(DATE_TIME_FORMAT).to_string();