[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