Fix media display for no media_data row in sql.
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Thu, 15 Mar 2012 11:35:58 +0000 (12:35 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Thu, 15 Mar 2012 11:35:58 +0000 (12:35 +0100)
If there is no media_data row for the current media (for
whatever reason, there might be good ones), let
MediaEntry.media_data not raise an exception but just
return None.

The exif display part now handles this by checking whether
.media_data.exif is defined (None has no attribute exif, so
it's undefined, all fine).

mediagoblin/db/sql/models.py
mediagoblin/templates/mediagoblin/utils/exif.html

index 394c35a3fe67bb895b252bbc34f76e007cebe225..a2feeebb1f367c7d787660fcdb9aaecb20d527ee 100644 (file)
@@ -176,7 +176,7 @@ class MediaEntry(Base, MediaEntryMixin):
         session = Session()
 
         return session.query(self.media_data_table).filter_by(
-            media_entry=self.id).one()
+            media_entry=self.id).first()
 
     def media_data_init(self, **kwargs):
         """
index bd2e3307016750a96c43037b4a5155f67841b254..3c1f4cebcf5c9dee47824a0677c5bd5b0ab6d1bc 100644 (file)
@@ -17,8 +17,8 @@
 #}
 
 {% block exif_content %}
-  {% if media.media_data.has_key('exif')
-        and app_config['exif_visible']
+  {% if app_config['exif_visible']
+        and media.media_data.exif is defined
         and media.media_data.exif.has_key('useful') %}
     <h3 class="sidedata">EXIF</h3>
     <table>