From 2e7b49fb13103a4e9960d53f7df5abe0ec4a2ce4 Mon Sep 17 00:00:00 2001 From: Gabriel Monnerat <gabriel@tiolive.com> Date: Wed, 23 Feb 2011 21:34:33 +0000 Subject: [PATCH] refactor code to don't create two File objects git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk/utils@43640 20353a03-c40f-0410-a6d1-a30d3c3de9de --- cloudooo/handler/ffmpeg/handler.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/cloudooo/handler/ffmpeg/handler.py b/cloudooo/handler/ffmpeg/handler.py index 9913d0c..b754baa 100644 --- a/cloudooo/handler/ffmpeg/handler.py +++ b/cloudooo/handler/ffmpeg/handler.py @@ -29,6 +29,7 @@ from cloudooo.file import File from subprocess import Popen, PIPE +from tempfile import mktemp class FFMPEGHandler(object): @@ -51,20 +52,20 @@ class FFMPEGHandler(object): # XXX This implementation could use ffmpeg -i pipe:0, but # XXX seems super unreliable currently and it generates currupted files in # the end - output = File(self.base_folder_url, '', destination_format) + output_url = mktemp(suffix=".%s" % destination_format, + dir=self.input.directory_name) + command = ["ffmpeg", + "-i", + self.input.getUrl(), + "-y", + output_url] try: - command = ["ffmpeg", - "-i", - self.input.getUrl(), - "-y", - output.getUrl()] stdout, stderr = Popen(command, stdout=PIPE, stderr=PIPE, close_fds=True, env=self.environment).communicate() - output.reload() - return output.getContent() + self.input.reload(output_url) + return self.input.getContent() finally: self.input.trash() - output.trash() -- 2.30.9