From: yomguy Date: Fri, 24 Jun 2011 09:47:35 +0000 (+0200) Subject: fix item public_access X-Git-Tag: 1.1~63 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=66bbeeee11abce3bedbc3394a7f63bac5a0d18fa;p=telemeta.git fix item public_access --- diff --git a/telemeta/models/dublincore.py b/telemeta/models/dublincore.py index fc033dbd..b1aaef11 100644 --- a/telemeta/models/dublincore.py +++ b/telemeta/models/dublincore.py @@ -33,7 +33,7 @@ # Author: Olivier Guilyardi 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) ) diff --git a/telemeta/web/base.py b/telemeta/web/base.py index d0594209..3f8b8f3c 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -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