From d376351f644ef14d00f40b29b6d0731ee0abe2b6 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Thu, 9 Dec 2021 23:58:18 +0800 Subject: [PATCH] refactor: add some error handle for process data to json --- examples/entries-define.yaml | 2 +- quake_core/src/helper/quake_time.rs | 3 +++ quake_core/src/usecases/entrysets.rs | 14 ++++++++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/examples/entries-define.yaml b/examples/entries-define.yaml index cda1a1c2..17541029 100644 --- a/examples/entries-define.yaml +++ b/examples/entries-define.yaml @@ -99,7 +99,7 @@ entries: display: "Onenote" fields: - title: Title - - created_date: String + - created_date: Date - updated_date: Date - category: String - notebook: String diff --git a/quake_core/src/helper/quake_time.rs b/quake_core/src/helper/quake_time.rs index d9427e1d..6a728891 100644 --- a/quake_core/src/helper/quake_time.rs +++ b/quake_core/src/helper/quake_time.rs @@ -82,6 +82,9 @@ mod tests { let filter4 = "created_date > 2021.12.09"; assert_eq!(replace_to_unix(filter4), "created_date > 1639008000"); + // + // let filter2 = "created_date > 2021-08-20 06:32:28.537346"; + // assert_eq!(replace_to_unix(filter2), "created_date > 1586729457"); } #[test] diff --git a/quake_core/src/usecases/entrysets.rs b/quake_core/src/usecases/entrysets.rs index a5f09905..51a2c348 100644 --- a/quake_core/src/usecases/entrysets.rs +++ b/quake_core/src/usecases/entrysets.rs @@ -115,16 +115,22 @@ impl Entrysets { let string = fs::read_to_string(&file)?; let mut entry_file = EntryFile::from(&*string, index)?; - entry_file.name = format!("{}", file.file_name().unwrap().to_str().unwrap()); + entry_file.name = format!("{}", &file.file_name().unwrap().to_str().unwrap()); for (k, v) in &entry_file.fields { // convert for time if let Some(field_type) = type_maps.get(k) { if let MetaField::Date(_date) = field_type { let value = quake_time::replace_to_unix(v); - let time: usize = value.parse().expect("cannot convert time"); - element[k.clone()] = time.into(); - continue; + match value.parse::() { + Ok(time) => { + element[k.clone()] = time.into(); + continue; + } + Err(err) => { + println!("parse {:?} error:{:?}", file, err); + } + } } }