Inital Commit
This commit is contained in:
22
modules/date_utils.py
Normal file
22
modules/date_utils.py
Normal file
@ -0,0 +1,22 @@
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
def parse_stream_date(path: Path) -> datetime:
|
||||
"""
|
||||
Extracts a datetime object from a stream session folder name.
|
||||
|
||||
Assumes the structure: Z:/YYYY.MM.DD[.N]/category/clip.mp4
|
||||
Always returns the date from the stream folder (two levels up).
|
||||
"""
|
||||
session_folder = path.parent.parent # clip.mp4 → montages → 2025.06.20
|
||||
folder_name = session_folder.name.strip()
|
||||
date_parts = folder_name.split('.')[:3]
|
||||
|
||||
if len(date_parts) != 3:
|
||||
raise ValueError(f"Invalid folder name format: {folder_name}")
|
||||
|
||||
date_str = '.'.join(date_parts)
|
||||
try:
|
||||
return datetime.strptime(date_str, '%Y.%m.%d')
|
||||
except Exception as e:
|
||||
raise ValueError(f"Failed to parse '{date_str}' from '{folder_name}': {e}")
|
||||
Reference in New Issue
Block a user