# HG changeset patch # User Thierry Florac # Date 1449243390 -3600 # Node ID d49c3f386782124ce5c09dcf08fdaec04f35b0f5 # Parent b5da674fd06c517f29fc228a82f94c808ef7faf9 Improved logging diff -r b5da674fd06c -r d49c3f386782 src/pyams_media/process.py --- a/src/pyams_media/process.py Fri Dec 04 16:36:06 2015 +0100 +++ b/src/pyams_media/process.py Fri Dec 04 16:36:30 2015 +0100 @@ -23,9 +23,10 @@ from threading import Thread # import interfaces -from pyams_media.interfaces import IMediaConverter, IMediaConversions +from pyams_media.interfaces import IMediaConverter, IMediaConversions, MEDIA_CONVERSION_CMDLINE_KEY from pyams_utils.interfaces import PYAMS_APPLICATION_SETTINGS_KEY, PYAMS_APPLICATION_DEFAULT_NAME from transaction.interfaces import ITransactionManager +from zope.annotation.interfaces import IAnnotations from zope.intid.interfaces import IIntIds # import packages @@ -93,17 +94,21 @@ logger.debug("Starting conversion process for {0!r} to {1}".format(media, media_format)) manager = ITransactionManager(media) for width, conversion in converter.convert(media): - logger.debug("Finished FFmpeg conversion process to {0}, {1} bytes output".format(media_format, - len(conversion))) + conversion_result = conversion.get('output', '') + logger.debug("Finished FFmpeg conversion process to {0}, {1} bytes output" + .format(media_format, len(conversion_result))) # add conversion in a transaction attempts loop - if len(conversion) > 0: + if len(conversion_result) > 0: for attempt in manager.attempts(): with attempt as t: - IMediaConversions(media).add_conversion(conversion, media_format, converter.format, width) + converted = IMediaConversions(media).add_conversion(conversion_result, media_format, + converter.format, width) + IAnnotations(converted)[MEDIA_CONVERSION_CMDLINE_KEY] = conversion.get('cmdline') if t.status == 'Committed': break else: logger.warning("Finished FFmpeg conversion process with **NO OUTPUT** !!!") + logger.warning(conversion.get('errors')) finally: if manager is not None: manager.abort() @@ -133,7 +138,7 @@ def test(self, settings): messages = ['Conversion process ready to handle requests.'] - for command in ('ffmpeg', 'ffprobe'): + for command in ('avconv', 'avprobe'): whereis = shutil.which(command) if whereis is None: messages.append("WARNING: missing required command '{0}'!".format(command))