server: attempt to use DateTimeOriginal

- [server] attempt to use DateTimeOriginal in `func/metadata.py` to
  resolve date taken (compatibility issue originally found in photo
  taken on LG Optimus L90)
This commit is contained in:
skybldev 2021-11-29 13:41:03 -05:00
parent 4fe65bebe7
commit f73dd02c7d

View file

@ -9,9 +9,17 @@ from exif import Image
def resolve_image_date_taken(content: bytes) -> Optional[datetime]:
img = Image(content)
if img.has_exif and "datetime" in img.list_all():
return datetime.strptime(img.datetime, "%Y:%m:%d %H:%M:%S")
return None
if img.has_exif:
if "datetime" in img.list_all():
resolved = img.datetime
elif "datetime_original" in img.list_all():
resolved = img.datetime_original
else:
return None
return datetime.strptime(resolved, "%Y:%m:%d %H:%M:%S")
else:
return None
def resolve_video_date_taken(content: bytes) -> Optional[datetime]: