From f813730cb704d9899a44c2985ba5b1064ccbdaa8 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 17 Mar 2015 00:36:27 +0100 Subject: [PATCH] Don't display media related items if their mime type is in private_extra_types dict --- telemeta/models/core.py | 10 ++++++++-- telemeta/templates/telemeta/inc/mediaitem_related.html | 2 ++ telemeta/views/item.py | 5 ++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/telemeta/models/core.py b/telemeta/models/core.py index ce9b7738..8605fde9 100644 --- a/telemeta/models/core.py +++ b/telemeta/models/core.py @@ -63,15 +63,21 @@ from xml.dom.minidom import getDOMImplementation PUBLIC_ACCESS_CHOICES = (('none', _('none')), ('metadata', _('metadata')), ('mixed', _('mixed')), ('full', _('full'))) -extra_types = { +public_extra_types = { '.webm': 'video/webm', +} + +private_extra_types = { '.eaf': 'text/xml', # ELAN Annotation Format '.trs': 'text/xml', # Trancriber Annotation Format '.svl': 'text/xml', # Sonic Visualiser layer file '.TextGrid': 'text/praat-textgrid', # Praat TextGrid annotation file } -for ext,mime_type in extra_types.items(): +for ext,mime_type in public_extra_types.items(): + mimetypes.add_type(mime_type, ext) + +for ext,mime_type in private_extra_types.items(): mimetypes.add_type(mime_type, ext) app_name = 'telemeta' diff --git a/telemeta/templates/telemeta/inc/mediaitem_related.html b/telemeta/templates/telemeta/inc/mediaitem_related.html index ff5bfd95..9fe8eb86 100644 --- a/telemeta/templates/telemeta/inc/mediaitem_related.html +++ b/telemeta/templates/telemeta/inc/mediaitem_related.html @@ -15,6 +15,7 @@ {% for media in related_media %} + {% if not media.mime_type in private_extra_types %}
@@ -68,6 +69,7 @@ {% endif %} + {% endif %} {% endfor %} diff --git a/telemeta/views/item.py b/telemeta/views/item.py index 368a8220..ae94e36a 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -1010,13 +1010,12 @@ class ItemDetailView(ItemViewMixin, DetailView): context['mime_type'] = self.mime_type context['last_revision'] = last_revision context['format'] = format - + context['private_extra_types'] = private_extra_types.values() return context - class DublinCoreToFormatMetadata(object): - """ a mapping class to get item DublinCore metadata dictionaries + """a mapping class to get item DublinCore metadata dictionaries in various audio metadata format (MP3, OGG, etc...)""" #FIXME: should be given by timeside -- 2.39.5