From 446c8e4369bbf57b93c79652da271434324273f0 Mon Sep 17 00:00:00 2001 From: evannregnault Date: Fri, 10 Nov 2023 14:51:11 +0100 Subject: [PATCH] 1.4.4 - Fix date --- Cargo.toml | 2 +- src/commands/events.rs | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d2046e3..b990b17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "obsessed-yanqing" -version = "1.4.3" +version = "1.4.4" edition = "2021" authors = ["Evann Regnault"] license = "MIT" diff --git a/src/commands/events.rs b/src/commands/events.rs index c390325..97a9c32 100644 --- a/src/commands/events.rs +++ b/src/commands/events.rs @@ -135,13 +135,18 @@ fn get_time(event: Node) -> EventTime { let dates = Regex::new(r"[-—–]").expect("Can't create split time regex").split(text.as_str()).collect::>(); println!("{:?}", dates); let start_date_text = dates.first().expect("Cannot get start date string").to_owned(); - let end_date_text = dates.get(1).expect("Cannot get end date string").to_owned(); + let start = get_date(start_date_text).map(|x| { NaiveDateTime::parse_from_str(x.as_str(), "%Y/%m/%d %H:%M").expect("Date").timestamp() }); - let end = get_date(end_date_text).map(|x| { - NaiveDateTime::parse_from_str(x.as_str(), "%Y/%m/%d %H:%M").expect("Date").timestamp() - }); + + let mut end = None; + if dates.len() == 2 { + let end_date_text = dates.get(1).expect("Cannot get end date string").to_owned(); + end = get_date(end_date_text).map(|x| { + NaiveDateTime::parse_from_str(x.as_str(), "%Y/%m/%d %H:%M").expect("Date").timestamp() + }); + } EventTime {start, end} }).expect("No time found")