From d004c667fd7ba901e156f7943d068fb8c785f81e Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 4 Nov 2018 22:28:47 +0100 Subject: [PATCH] Optimize implementation Code-wise, the functionality was not changed. The changes only make the code much more pretty. Signed-off-by: Matthias Beyer --- bin/domain/imag-diary/src/delete.rs | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/bin/domain/imag-diary/src/delete.rs b/bin/domain/imag-diary/src/delete.rs index 085b79a9..d8ccd47d 100644 --- a/bin/domain/imag-diary/src/delete.rs +++ b/bin/domain/imag-diary/src/delete.rs @@ -19,7 +19,7 @@ use std::process::exit; -use chrono::naive::NaiveDateTime; +use chrono::naive::NaiveDateTime as NDT; use libimagdiary::diaryid::DiaryId; use libimagrt::runtime::Runtime; @@ -44,17 +44,10 @@ pub fn delete(rt: &Runtime) { .value_of("datetime") .map(|dt| { debug!("DateTime = {:?}", dt); dt }) .and_then(DateTime::parse) - .map(|dt| dt.into()) - .ok_or_else(|| { - warn!("Not deleting entries, because missing date/time specification"); - exit(1); - }) - .and_then(|dt: NaiveDateTime| { - DiaryId::from_datetime(diaryname.clone(), dt) - .into_storeid() - .map(|id| rt.store().retrieve(id)) - .map_err_trace_exit_unwrap(1) - }) + .map(Into::into) + .ok_or_else(|| warn_exit("Not deleting entries: missing date/time specification", 1)) + .and_then(|dt: NDT| DiaryId::from_datetime(diaryname.clone(), dt).into_storeid()) + .and_then(|id| rt.store().retrieve(id)) .map_err_trace_exit_unwrap(1) .get_location() .clone();