diff options
| -rw-r--r-- | youtube_dl/postprocessor/common.py | 13 | ||||
| -rw-r--r-- | youtube_dl/postprocessor/ffmpeg.py | 12 | 
2 files changed, 16 insertions, 9 deletions
| diff --git a/youtube_dl/postprocessor/common.py b/youtube_dl/postprocessor/common.py index e54ae678d..ef9fdfa19 100644 --- a/youtube_dl/postprocessor/common.py +++ b/youtube_dl/postprocessor/common.py @@ -1,6 +1,11 @@  from __future__ import unicode_literals -from ..utils import PostProcessingError +import os + +from ..utils import ( +    PostProcessingError, +    encodeFilename, +)  class PostProcessor(object): @@ -46,6 +51,12 @@ class PostProcessor(object):          """          return None, information  # by default, keep file and do nothing +    def try_utime(self, path, atime, mtime, errnote='Cannot update utime of file'): +        try: +            os.utime(encodeFilename(path), (atime, mtime)) +        except Exception: +            self._downloader.report_warning(errnote) +  class AudioConversionError(PostProcessingError):      pass diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index 5ef5e0e54..8e99a3c2c 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -146,10 +146,7 @@ class FFmpegPostProcessor(PostProcessor):              stderr = stderr.decode('utf-8', 'replace')              msg = stderr.strip().split('\n')[-1]              raise FFmpegPostProcessorError(msg) -        try: -            os.utime(encodeFilename(out_path), (oldest_mtime, oldest_mtime)) -        except Exception: -            self._downloader.report_warning('Cannot update utime of file') +        self.try_utime(out_path, oldest_mtime, oldest_mtime)          if self._deletetempfiles:              for ipath in input_paths: @@ -284,10 +281,9 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor):          # Try to update the date time for extracted audio file.          if information.get('filetime') is not None: -            try: -                os.utime(encodeFilename(new_path), (time.time(), information['filetime'])) -            except Exception: -                self._downloader.report_warning('Cannot update utime of audio file') +            self.try_utime( +                new_path, time.time(), information['filetime'], +                errnote='Cannot update utime of audio file')          information['filepath'] = new_path          return self._nopostoverwrites, information | 
