diff options
author | Tryggvi Björgvinsson <tryggvib@fsfi.is> | 2012-11-25 16:09:35 +0000 |
---|---|---|
committer | Tryggvi Björgvinsson <tryggvib@fsfi.is> | 2012-11-25 16:09:35 +0000 |
commit | d682d066d375177461db82986dc79028925a8819 (patch) | |
tree | 023341c33450602a5955fcfd1cdf57da1fdfe52b /mediagoblin/media_types | |
parent | 24d310e46fc237eccfc7859ae273ddaaf04e2fbc (diff) | |
download | mediagoblin-d682d066d375177461db82986dc79028925a8819.tar.lz mediagoblin-d682d066d375177461db82986dc79028925a8819.tar.xz mediagoblin-d682d066d375177461db82986dc79028925a8819.zip |
Moved exif date transformation logic from template to image data model (as a function)
Diffstat (limited to 'mediagoblin/media_types')
-rw-r--r-- | mediagoblin/media_types/image/models.py | 12 |
1 files changed, 12 insertions, 0 deletions
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] |