Take into account incomplete EXIF data
This commit is contained in:
parent
c5323f29f3
commit
907bba318a
@ -28,6 +28,8 @@ real objects.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import uuid
|
import uuid
|
||||||
|
import re
|
||||||
|
import datetime
|
||||||
|
|
||||||
from werkzeug.utils import cached_property
|
from werkzeug.utils import cached_property
|
||||||
|
|
||||||
@ -239,23 +241,30 @@ class MediaEntryMixin(GenerateSlugMixin):
|
|||||||
|
|
||||||
def exif_display_data_short(self):
|
def exif_display_data_short(self):
|
||||||
"""Display a very short practical version of exif info"""
|
"""Display a very short practical version of exif info"""
|
||||||
import time, datetime
|
|
||||||
if not self.media_data:
|
if not self.media_data:
|
||||||
return
|
return
|
||||||
|
|
||||||
exif_all = self.media_data.get("exif_all")
|
exif_all = self.media_data.get("exif_all")
|
||||||
|
|
||||||
|
taken = None
|
||||||
|
if 'Image DateTimeOriginal' in exif_all:
|
||||||
# format date taken
|
# format date taken
|
||||||
takendate = datetime.datetime.strptime(
|
takendate = datetime.datetime.strptime(
|
||||||
exif_all['Image DateTimeOriginal']['printable'],
|
exif_all['Image DateTimeOriginal']['printable'],
|
||||||
'%Y:%m:%d %H:%M:%S').date()
|
'%Y:%m:%d %H:%M:%S').date()
|
||||||
taken = takendate.strftime('%B %d %Y')
|
taken = takendate.strftime('%B %d %Y')
|
||||||
|
|
||||||
|
fnum = None
|
||||||
|
if 'EXIF FNumber' in exif_all:
|
||||||
fnum = str(exif_all['EXIF FNumber']['printable']).split('/')
|
fnum = str(exif_all['EXIF FNumber']['printable']).split('/')
|
||||||
|
|
||||||
# calculate aperture
|
# calculate aperture
|
||||||
|
aperture = None
|
||||||
if len(fnum) == 2:
|
if len(fnum) == 2:
|
||||||
aperture = "f/%.1f" % (float(fnum[0])/float(fnum[1]))
|
aperture = "f/%.1f" % (float(fnum[0])/float(fnum[1]))
|
||||||
elif fnum[0] != 'None':
|
elif fnum[0] != 'None':
|
||||||
aperture = "f/%s" % (fnum[0])
|
aperture = "f/%s" % (fnum[0])
|
||||||
else:
|
|
||||||
aperture = None
|
|
||||||
return {
|
return {
|
||||||
"Camera" : exif_all['Image Model']['printable'],
|
"Camera" : exif_all['Image Model']['printable'],
|
||||||
"Exposure" : '%s sec' % exif_all['EXIF ExposureTime']['printable'],
|
"Exposure" : '%s sec' % exif_all['EXIF ExposureTime']['printable'],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user