diff options
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] |