Moved exif date transformation logic from template to image data model (as a function)
This commit is contained in:
parent
24d310e46f
commit
d682d066d3
@ -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]
|
||||
|
@ -153,13 +153,14 @@
|
||||
<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" %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user