Added file date format for memories #43

Merged
cameron merged 1 commits from feature/new-memories-filename-format into master 2025-12-01 18:53:25 +00:00
Showing only changes of commit 3c894335ce - Show all commits

View File

@@ -235,6 +235,15 @@ fn extract_date_from_filename(filename: &str) -> Option<DateTime<FixedOffset>> {
return Some(captures); 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 // 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})") if let Some(captures) = regex::Regex::new(r"(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})")
.ok()? .ok()?
@@ -510,6 +519,19 @@ mod tests {
assert_eq!(date_time.second(), 15); 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] #[test]
fn test_extract_date_from_filename_compact_format() { fn test_extract_date_from_filename_compact_format() {
let filename = "20140927101712.jpg"; let filename = "20140927101712.jpg";