Merge branch 'master' of https://github.com/alexta69/metube into custom-download-folder
This commit is contained in:
@@ -19,6 +19,10 @@ def get_format(format: str, quality: str) -> str:
|
||||
if format.startswith("custom:"):
|
||||
return format[7:]
|
||||
|
||||
if format == "thumbnail":
|
||||
# Quality is irrelevant in this case since we skip the download
|
||||
return "bestaudio/best"
|
||||
|
||||
if format == "mp3":
|
||||
# Audio quality needs to be set post-download, set in opts
|
||||
return "bestaudio/best"
|
||||
@@ -66,4 +70,9 @@ def get_opts(format: str, quality: str, ytdl_opts: dict) -> dict:
|
||||
opts["postprocessors"].append({"key": "FFmpegMetadata"})
|
||||
opts["postprocessors"].append({"key": "EmbedThumbnail"})
|
||||
|
||||
if format == "thumbnail":
|
||||
opts["skip_download"] = True
|
||||
opts["writethumbnail"] = True
|
||||
opts["postprocessors"].append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
|
||||
|
||||
return opts
|
||||
|
||||
@@ -6,6 +6,7 @@ import time
|
||||
import asyncio
|
||||
import multiprocessing
|
||||
import logging
|
||||
import re
|
||||
from dl_formats import get_format, get_opts
|
||||
|
||||
log = logging.getLogger('ytdl')
|
||||
@@ -127,6 +128,10 @@ class Download:
|
||||
self.tmpfilename = status.get('tmpfilename')
|
||||
if 'filename' in status:
|
||||
self.info.filename = os.path.relpath(status.get('filename'), self.download_dir)
|
||||
|
||||
# Set correct file extension for thumbnails
|
||||
if(self.info.format == 'thumbnail'):
|
||||
self.info.filename = re.sub(r'\.webm$', '.jpg', self.info.filename)
|
||||
self.info.status = status['status']
|
||||
self.info.msg = status.get('msg')
|
||||
if 'downloaded_bytes' in status:
|
||||
|
||||
Reference in New Issue
Block a user