]> git.parisson.com Git - telemeta.git/commitdiff
update media tags before streaming
authoryomguy <yomguy@parisson.com>
Thu, 12 May 2011 21:05:19 +0000 (23:05 +0200)
committeryomguy <yomguy@parisson.com>
Thu, 12 May 2011 21:05:19 +0000 (23:05 +0200)
telemeta/models/media.py
telemeta/templates/telemeta_default/mediaitem_detail.html
telemeta/web/base.py

index 4a0489a67dbfd035240b64b25f185cba38d9a24a..a450550e1a27824c22e23febda5f12634616ce69 100644 (file)
@@ -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():
index 02245fa6fdcba3a3a57935e8009166a7d6a2919e..23c303e1e92a8a0daff58c02e28e2762ccd57524 100644 (file)
             <div id="player" class="ts-player">
             </div>
         </div>
-        <!--
-                <form method="get" action="#">
-                    <p>&nbsp;Vamp plugin analysis</p>
-                    <select name="vamp_id">
-                    {% for plugin in vamp_plugins %}
-                    <option value="{{ plugin }}" {% ifequal plugin vamp_id %} selected="selected" {% endifequal %}>
-                    {{ plugin }}</option>
-                    {% endfor %}
-                    </select>
-                    <input type="submit" value="Get" />
-                </form>
-        -->
+
         <!-- </div> -->
         <div id="tabs_container">
             <!-- this div will be hidden when everything is fully loaded-->
index dbbd2466b9182a4d62fd997bb918b2e7fff3cbdc..a849083272f1158675706632a95368c0ffcdef87 100644 (file)
@@ -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'