]> git.parisson.com Git - telemeta.git/commitdiff
fix item public_access
authoryomguy <yomguy@parisson.com>
Fri, 24 Jun 2011 09:47:35 +0000 (11:47 +0200)
committeryomguy <yomguy@parisson.com>
Fri, 24 Jun 2011 09:47:35 +0000 (11:47 +0200)
telemeta/models/dublincore.py
telemeta/web/base.py

index fc033dbdbffc1af71c5168b2b16526ef391360bd..b1aaef117780bc6ab9945c09697fa7bdf21ab3ae 100644 (file)
@@ -33,7 +33,7 @@
 # Author: Olivier Guilyardi <olivier@samalyse.com>
 
 from telemeta.models.core import Duration
-from telemeta.models.media import MediaItem, MediaCollection
+from telemeta.models.media import MediaItem, MediaCollection, MediaItemAnalysis
 from django.contrib.sites.models import Site
 from django.conf import settings
 
@@ -177,7 +177,6 @@ def express_collection(collection):
         Element('rights',           media_access_rights(collection), 'accessRights'),
         Element('format',           duration, 'extent'),
         Element('format',           collection.physical_format, 'medium'),
-        #FIXME: audio mime types are missing,
         parts
     )
 
@@ -206,6 +205,12 @@ def express_item(item):
         title = item.collection.title
         if item.track:
             title += u' - ' + item.track
+    
+    try:
+        analysis = MediaItemAnalysis(item=item, analyzer_id='mime_type')
+        mime_type = analysis.value
+    except:
+        mime_type = 'unknown'
 
     resource = Resource(
         Element('identifier',       media_identifier(item), related=item),
@@ -225,10 +230,9 @@ def express_item(item):
         Element('coverage',         item.location_comment, 'spatial'),
         Element('rights',           item.collection.legal_rights, 'license'),
         Element('rights',           media_access_rights(item.collection), 'accessRights'),
-    
         Element('format',           max(item.approx_duration, item.computed_duration()), 'extent'),
         Element('format',           item.collection.physical_format, 'medium'),
-        #FIXME: audio mime types are missing,
+        Element('format',           mime_type, 'MIME type'),
         Element('relation',         media_identifier(item.collection), 'isPartOf', item.collection)
     )
 
index d0594209b7592310b16203a82a3858bf76223961..3f8b8f3cf5bfe4bc66bf1f4502035d0c4b632453 100644 (file)
@@ -458,7 +458,7 @@ class ItemView(object):
         else:
             item = MediaItem.objects.get(public_id=public_id)
         
-        item_public_access = item.public_access == 'none' or item.collection.public_access == 'none'
+        item_public_access = item.public_access != 'none' or item.collection.public_access != 'none'
         if not item_public_access and not (request.user.is_staff or request.user.is_superuser):
             mess = ugettext('Access not allowed') 
             title = ugettext('Item') + ' : ' + public_id + ' : ' + mess