]> git.parisson.com Git - telemeta.git/commitdiff
export api is now waiting for tuples as metadata
authoryomguy <>
Tue, 22 Sep 2009 09:26:07 +0000 (09:26 +0000)
committeryomguy <>
Tue, 22 Sep 2009 09:26:07 +0000 (09:26 +0000)
telemeta/export/api.py
telemeta/export/flac.py
telemeta/export/mp3.py
telemeta/export/ogg.py

index 2697bd46b3b66f47af43e606db8b821129d2f0f5..8e8b77e1e18a6e95a64b6c14be6399c96c22a942 100644 (file)
@@ -79,7 +79,9 @@ class IExporter(Interface):
         source is the audio/video source file absolute path. For audio that
         should be a WAV file
 
-        metadata is a dictionary
+        metadata is a tuple containing tuples for each descriptor return by
+        the dc.Ressource of the item, in the model order :
+        ((name1, value1),(name2, value2),(name1, value3), ...)
 
         The returned file path is not meant to be permanent in any way, it 
         should be considered temporary/volatile by the caller.
index 1c8cd289d82d42da445a5e657f02d406051fb99e..24f2a552b411c3620fa1f19631ad7fe68c8938f7 100644 (file)
@@ -103,11 +103,13 @@ class FlacExporter(ExporterCore):
 
     def write_tags(self, file):
         media = FLAC(file)
-        for tag in self.metadata.keys():
-            if tag == 'COMMENT':
-                media['DESCRIPTION'] = unicode(self.metadata[tag])
+        for tag in self.metadata:
+            name = tag[0]
+            value = clean_word(tag[1])
+            if name == 'COMMENT':
+                media['DESCRIPTION'] = unicode(value)
             else:
-                media[tag] = unicode(self.metadata[tag])
+                media[name] = unicode(value)
         try:
             media.save()
         except:
index bd751c8ae474fa9acdaf32e483b087f75c857934..03cddc34e93b70c612bee81eae1374d47380d879 100644 (file)
@@ -141,13 +141,12 @@ class Mp3Exporter(ExporterCore):
         else:
             args.append('-S -c -o')
 
-        for tag in self.metadata.keys():
-            if tag in self.dub2args_dict.keys():
-                arg = self.dub2args_dict[tag]
-                value = clean_word(self.metadata[tag])
-                args.append('--' + arg)
-                args.append('"' + value + '"')
-
+        for tag in self.metadata:
+            name = tag[0]
+            value = clean_word(tag[1])
+            if name in self.dub2args_dict.keys():
+                arg = self.dub2args_dict[name]
+                args.append('--' + arg + ' "' + value + '"')
         return args
 
     def process(self, item_id, source, metadata, options=None):
index cc16df0ce0f94891aa38b59ee5f069df456799b7..88ce688f25ea03263c9bda09ca143f50b1365eba 100644 (file)
@@ -115,13 +115,13 @@ class OggExporter(ExporterCore):
         else:
             args.append('-Q -b '+self.bitrate_default)
 
-        for tag in self.metadata.keys():
-            value = clean_word(self.metadata[tag])
-            args.append('-c %s="%s"' % (tag, value))
-            if tag in self.dub2args_dict.keys():
-                arg = self.dub2args_dict[tag]
+        for tag in self.metadata:
+            name = tag[0]
+            value = clean_word(tag[1])
+            args.append('-c %s="%s"' % (name, value))
+            if name in self.dub2args_dict.keys():
+                arg = self.dub2args_dict[name]
                 args.append('-c %s="%s"' % (arg, value))
-
         return args
 
     def process(self, item_id, source, metadata, options=None):