[Erp5-report] r44830 priscila.manhaes - in /erp5/trunk/utils/cloudooo/cloudooo/handler/ffmp...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 30 23:13:31 CEST 2011


Author: priscila.manhaes
Date: Wed Mar 30 23:13:31 2011
New Revision: 44830

URL: http://svn.erp5.org?rev=44830&view=rev
Log:
implemented getMetadata for ffmpeg, and test for it

Modified:
    erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py?rev=44830&r1=44829&r2=44830&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py [utf8] Wed Mar 30 23:13:31 2011
@@ -75,10 +75,21 @@ class Handler(object):
 
   def getMetadata(self, base_document=False):
     """Returns a dictionary with all metadata of the video.
-    Keywords Arguments:
-    base_document -- Boolean variable. if true, the video is also returned
-    along with the metadata."""
-    raise NotImplementedError
+    Keywords Arguments:"""
+    command = ["ffprobe",self.input.getUrl()]
+    stdout, stderr =  Popen(command,
+                           stdout=PIPE,
+                           stderr=PIPE,
+                           close_fds=True,
+                           env=self.environment).communicate()
+    metadata = stderr.split('Metadata:')[1].split('\n')
+    metadata_dict = {}
+    for data in metadata:
+      if len(data) != 0:
+        key, value = data.split(':')
+        metadata_dict[key.strip()] = value.strip()
+    self.input.trash()
+    return metadata_dict
 
   def setMetadata(self, metadata={}):
     """Returns a document with new metadata.

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py?rev=44830&r1=44829&r2=44830&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py [utf8] Wed Mar 30 23:13:31 2011
@@ -47,7 +47,8 @@ class TestHandler(HandlerTestCase):
 
   def testgetMetadata(self):
     """Test if metadata is extracted from"""
-    self.assertRaises(NotImplementedError, self.input.getMetadata)
+    output_metadata = self.input.getMetadata()
+    self.assertEquals(output_metadata, {'ENCODER': 'Lavf52.64.2'})
 
   def testsetMetadata(self):
     """ Test if metadata are inserted correclty """



More information about the Erp5-report mailing list