aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mixin.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-23 20:16:42 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-23 20:20:54 +0100
commit5bad26bc47201aea14b57b0e03aca7eb89447212 (patch)
treed55f62c816ed6f43f0bed6017d25ed5e249684ab /mediagoblin/db/mixin.py
parente0b0588fb1626a32d8af4e9c221f32d1b770a1a9 (diff)
downloadmediagoblin-5bad26bc47201aea14b57b0e03aca7eb89447212.tar.lz
mediagoblin-5bad26bc47201aea14b57b0e03aca7eb89447212.tar.xz
mediagoblin-5bad26bc47201aea14b57b0e03aca7eb89447212.zip
Create MediaEntry.exif_display_iter()
MediaEntry.media_data.exif_all will contain all the "clean" EXIF data. MediaEntry.exif_display_iter() is an iterator that fetches the most interesting entries for display from that data.
Diffstat (limited to 'mediagoblin/db/mixin.py')
-rw-r--r--mediagoblin/db/mixin.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py
index 4f9e1b11..7d0e0e9a 100644
--- a/mediagoblin/db/mixin.py
+++ b/mediagoblin/db/mixin.py
@@ -32,6 +32,7 @@ from mediagoblin.auth import lib as auth_lib
from mediagoblin.tools import common, licenses
from mediagoblin.tools.text import cleaned_markdown_conversion
from mediagoblin.tools.url import slugify
+from mediagoblin.tools.exif import USEFUL_TAGS
class UserMixin(object):
@@ -123,6 +124,15 @@ class MediaEntryMixin(object):
"""Return license dict for requested license"""
return licenses.SUPPORTED_LICENSES[self.license or ""]
+ def exif_display_iter(self):
+ if not self.media_data:
+ return
+ exif_all = self.media_data.get("exif_all")
+
+ for key in USEFUL_TAGS:
+ if key in exif_all:
+ yield key, exif_all[key]
+
class MediaCommentMixin(object):
@property