diff options
Diffstat (limited to 'youtube_dl/postprocessor')
| -rw-r--r-- | youtube_dl/postprocessor/atomicparsley.py | 9 | ||||
| -rw-r--r-- | youtube_dl/postprocessor/ffmpeg.py | 15 | 
2 files changed, 14 insertions, 10 deletions
diff --git a/youtube_dl/postprocessor/atomicparsley.py b/youtube_dl/postprocessor/atomicparsley.py index 448ccc5f3..a5dfc136a 100644 --- a/youtube_dl/postprocessor/atomicparsley.py +++ b/youtube_dl/postprocessor/atomicparsley.py @@ -50,8 +50,13 @@ class AtomicParsleyPP(PostProcessor):              msg = stderr.decode('utf-8', 'replace').strip()              raise AtomicParsleyPPError(msg) -        os.remove(encodeFilename(filename))          os.remove(encodeFilename(temp_thumbnail)) -        os.rename(encodeFilename(temp_filename), encodeFilename(filename)) +        # for formats that don't support thumbnails (like 3gp) AtomicParsley +        # won't create to the temporary file +        if b'No changes' in stdout: +            self._downloader.report_warning('The file format doesn\'t support embedding a thumbnail') +        else: +            os.remove(encodeFilename(filename)) +            os.rename(encodeFilename(temp_filename), encodeFilename(filename))          return True, info diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index 8e99a3c2c..4c4a038f9 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -264,15 +264,14 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor):          new_path = prefix + sep + extension          # If we download foo.mp3 and convert it to... foo.mp3, then don't delete foo.mp3, silly. -        if new_path == path: -            self._nopostoverwrites = True +        if (new_path == path or +                (self._nopostoverwrites and os.path.exists(encodeFilename(new_path)))): +            self._downloader.to_screen('[youtube] Post-process file %s exists, skipping' % new_path) +            return True, information          try: -            if self._nopostoverwrites and os.path.exists(encodeFilename(new_path)): -                self._downloader.to_screen('[youtube] Post-process file %s exists, skipping' % new_path) -            else: -                self._downloader.to_screen('[' + self.basename + '] Destination: ' + new_path) -                self.run_ffmpeg(path, new_path, acodec, more_opts) +            self._downloader.to_screen('[' + self.basename + '] Destination: ' + new_path) +            self.run_ffmpeg(path, new_path, acodec, more_opts)          except AudioConversionError as e:              raise PostProcessingError(                  'audio conversion failed: ' + e.msg) @@ -286,7 +285,7 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor):                  errnote='Cannot update utime of audio file')          information['filepath'] = new_path -        return self._nopostoverwrites, information +        return False, information  class FFmpegVideoConvertorPP(FFmpegPostProcessor):  | 
