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]
<h3>Added on</h3>
<p>{{ date }}</p>
{%- endtrans %}
- {% if app_config['original_date_visible']
- and media.media_data.exif_all is defined
- and 'EXIF DateTimeOriginal' in media.media_data.exif_all %}
- {% trans date=media.media_data.exif_all['EXIF DateTimeOriginal']['printable'][:10].replace(':','-') -%}
- <h3>Created on</h3>
- <p>{{ date }}</p>
- {%- endtrans %}
+ {% if app_config['original_date_visible'] %}
+ {% set original_date = media.media_data.get_original_date() %}
+ {% if original_date -%}
+ {% trans date=original_date.strftime("%Y-%m-%d") -%}
+ <h3>Created on</h3>
+ <p>{{ date }}</p>
+ {%- endtrans %}
+ {%- endif %}
{% endif %}
{% if media.tags %}
{% include "mediagoblin/utils/tags.html" %}