From 3c894335ce3d9f5c2d388ed8e0d8bd327ceffbc7 Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 1 Dec 2025 13:51:17 -0500 Subject: [PATCH] Added file date format for memories --- src/memories.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/memories.rs b/src/memories.rs index e0ab6f3..8e00382 100644 --- a/src/memories.rs +++ b/src/memories.rs @@ -235,6 +235,15 @@ fn extract_date_from_filename(filename: &str) -> Option> { return Some(captures); } + // Dash with compact time format: 2015-01-09-021515.jpg + if let Some(captures) = regex::Regex::new(r"(\d{4})-(\d{2})-(\d{2})-(\d{2})(\d{2})(\d{2})") + .ok()? + .captures(filename) + .and_then(|c| build_date_from_ymd_capture(&c)) + { + return Some(captures); + } + // 3. Compact format: 20140927101712.jpg if let Some(captures) = regex::Regex::new(r"(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})") .ok()? @@ -510,6 +519,19 @@ mod tests { assert_eq!(date_time.second(), 15); } + #[test] + fn test_extract_date_from_filename_dash_compact_time_format() { + let filename = "2015-01-09-021515.jpg"; + let date_time = extract_date_from_filename(filename).unwrap(); + + assert_eq!(date_time.year(), 2015); + assert_eq!(date_time.month(), 1); + assert_eq!(date_time.day(), 9); + assert_eq!(date_time.hour(), 2); + assert_eq!(date_time.minute(), 15); + assert_eq!(date_time.second(), 15); + } + #[test] fn test_extract_date_from_filename_compact_format() { let filename = "20140927101712.jpg"; -- 2.49.1