From bea82b3acf4570d41cb906ef6eee49a388b58ed2 Mon Sep 17 00:00:00 2001 From: marcwebbie Date: Sun, 16 Oct 2016 12:16:23 -0200 Subject: [PATCH] Fix python2.6 support with requested changes --- youtube_dl/options.py | 4 ++-- youtube_dl/postprocessor/ffmpeg.py | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/youtube_dl/options.py b/youtube_dl/options.py index f49f10873..12181772d 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -758,11 +758,11 @@ def parseOpts(overrideArguments=None): help='Encode the video to another format if necessary (currently supported: mp4|flv|ogg|webm|mkv|avi)') postproc.add_option( '--slice-start', - metavar='START_TIME', dest='slicestart', default=None, + metavar='TIME', dest='slicestart', default=None, help='Slice start time') postproc.add_option( '--slice-end', - metavar='END_TIME', dest='sliceend', default=None, + metavar='TIME', dest='sliceend', default=None, help='Slice end time') postproc.add_option( '--postprocessor-args', diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index b7eeef269..1682368fd 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -22,6 +22,7 @@ from ..utils import ( subtitles_filename, dfxp2srt, ISO639Utils, + parse_duration, ) @@ -586,15 +587,22 @@ class FFmpegSlicePP(FFmpegPostProcessor): self.slice_start_time = slice_start_time self.slice_end_time = slice_end_time + def _parse_time(self, duration): + start_time = self.slice_start_time or '0' + end_time = self.slice_end_time or ('%s' % duration) + start_time = "%s" % parse_duration(start_time) + end_time = "%s" % parse_duration(end_time) + return start_time, end_time + def run(self, info): + import pudb; pudb.set_trace() filename = info['filepath'] temp_filename = prepend_extension(filename, 'temp') - start_time = self.slice_start_time or "0" - end_time = self.slice_end_time or "{}".format(info['duration']) + start_time, end_time = self._parse_time(info['duration']) options = ['-ss', start_time, '-to', end_time] self.run_ffmpeg(filename, temp_filename, options) - msg = '[ffmpeg] Sliced: from ({}) seconds to ({}) seconds'.format( - start_time, end_time) + msg = ('[ffmpeg] Sliced: from "%s" seconds to "%s" seconds' % + (start_time, end_time)) self._downloader.to_screen(msg) os.remove(encodeFilename(filename)) os.rename(encodeFilename(temp_filename), encodeFilename(filename))