From d682d066d375177461db82986dc79028925a8819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tryggvi=20Bj=C3=B6rgvinsson?= Date: Sun, 25 Nov 2012 16:09:35 +0000 Subject: Moved exif date transformation logic from template to image data model (as a function) --- mediagoblin/media_types/image/models.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mediagoblin/media_types') diff --git a/mediagoblin/media_types/image/models.py b/mediagoblin/media_types/image/models.py index fc518daa..b02c41d3 100644 --- a/mediagoblin/media_types/image/models.py +++ b/mediagoblin/media_types/image/models.py @@ -40,6 +40,18 @@ class ImageData(Base): gps_altitude = Column(Float) gps_direction = Column(Float) + def get_original_date(self): + import datetime + try: + # Try wrapped around all since exif_all might be none, + # EXIF DateTimeOriginal or printable might not exist, or + # strptime might not be able to parse date correctly + exif_date = self.exif_all['EXIF DateTimeOriginal']['printable'] + original_date = datetime.datetime.strptime(exif_date, + '%Y:%m:%d %H:%M:%S') + return original_date + except: + return None DATA_MODEL = ImageData MODELS = [ImageData] -- cgit v1.2.3