]> jfr.im git - yt-dlp.git/blobdiff - youtube_dlc/postprocessor/embedthumbnail.py
Multiple output templates for different file types
[yt-dlp.git] / youtube_dlc / postprocessor / embedthumbnail.py
index 334e059551698768113726d11d1e041583ddda8d..da6b6797f565e4af26d139ffbd65d20ebfa2b188 100644 (file)
@@ -42,6 +42,7 @@ def __init__(self, downloader=None, already_have_thumbnail=False):
     def run(self, info):
         filename = info['filepath']
         temp_filename = prepend_extension(filename, 'temp')
+        files_to_delete = []
 
         if not info.get('thumbnails'):
             self.to_screen('There aren\'t any thumbnails to embed')
@@ -78,7 +79,7 @@ def is_webp(path):
             escaped_thumbnail_jpg_filename = replace_extension(escaped_thumbnail_filename, 'jpg')
             self.to_screen('Converting thumbnail "%s" to JPEG' % escaped_thumbnail_filename)
             self.run_ffmpeg(escaped_thumbnail_filename, escaped_thumbnail_jpg_filename, ['-bsf:v', 'mjpeg2jpeg'])
-            os.remove(encodeFilename(escaped_thumbnail_filename))
+            files_to_delete.append(escaped_thumbnail_filename)
             thumbnail_jpg_filename = replace_extension(thumbnail_filename, 'jpg')
             # Rename back to unescaped for further processing
             os.rename(encodeFilename(escaped_thumbnail_jpg_filename), encodeFilename(thumbnail_jpg_filename))
@@ -183,5 +184,9 @@ def is_webp(path):
         if success and temp_filename != filename:
             os.remove(encodeFilename(filename))
             os.rename(encodeFilename(temp_filename), encodeFilename(filename))
-        files_to_delete = [] if self._already_have_thumbnail else [thumbnail_filename]
+        if self._already_have_thumbnail:
+            info['__files_to_move'][thumbnail_filename] = replace_extension(
+                info['__thumbnail_filename'], os.path.splitext(thumbnail_filename)[1][1:])
+        else:
+            files_to_delete.append(thumbnail_filename)
         return files_to_delete, info