From: yomguy Date: Thu, 12 May 2011 21:05:19 +0000 (+0200) Subject: update media tags before streaming X-Git-Tag: 1.1~194 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=949dc9b606fa893ab86819885fe5ff78f84fda0e;p=telemeta.git update media tags before streaming --- diff --git a/telemeta/models/media.py b/telemeta/models/media.py index 4a0489a6..a450550e 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -456,7 +456,13 @@ class DublinCoreToFormatMetadata(object): value = data[1] if value: if key == 'date': - value = value.split(';')[0].split('=')[1].split('-')[0] + value = value.split(';')[0].split('=') + print value + if len(value) > 1: + value = value[1] + value = value.split('-')[0] + else: + value = value[0].split('-')[0] if key in mapp: metadata[mapp[key]] = str(value) elif 'all' in mapp.keys(): diff --git a/telemeta/templates/telemeta_default/mediaitem_detail.html b/telemeta/templates/telemeta_default/mediaitem_detail.html index 02245fa6..23c303e1 100644 --- a/telemeta/templates/telemeta_default/mediaitem_detail.html +++ b/telemeta/templates/telemeta_default/mediaitem_detail.html @@ -126,18 +126,7 @@
- +
diff --git a/telemeta/web/base.py b/telemeta/web/base.py index dbbd2466..a8490832 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -518,21 +518,24 @@ class WebView(object): # source > stream response = HttpResponse(stream_from_file(audio), mimetype = mime_type) - else: + else: + dc_metadata = dublincore.express_item(item).to_list() + mapping = DublinCoreToFormatMetadata(extension) + metadata = mapping.get_metadata(dc_metadata) + media = self.cache_export.dir + os.sep + file if not self.cache_export.exists(file): decoder = timeside.decoder.FileDecoder(audio) # source > encoder > stream decoder.setup() - media = self.cache_export.dir + os.sep + file proc = encoder(media, streaming=True) proc.setup(channels=decoder.channels(), samplerate=decoder.samplerate()) - dc_metadata = dublincore.express_item(item).to_list() - mapping = DublinCoreToFormatMetadata(extension) - metadata = mapping.get_metadata(dc_metadata) proc.set_metadata(metadata) response = HttpResponse(stream_from_processor(decoder, proc), mimetype = mime_type) else: # cache > stream + proc = encoder(media) + proc.set_metadata(metadata) + proc.write_metadata() response = HttpResponse(self.cache_export.read_stream_bin(file), mimetype = mime_type) response['Content-Disposition'] = 'attachment'