aboutsummaryrefslogtreecommitdiff
path: root/yt_dlp/postprocessor
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/postprocessor')
-rw-r--r--yt_dlp/postprocessor/ffmpeg.py29
-rw-r--r--yt_dlp/postprocessor/sponsorblock.py8
2 files changed, 18 insertions, 19 deletions
diff --git a/yt_dlp/postprocessor/ffmpeg.py b/yt_dlp/postprocessor/ffmpeg.py
index 058926929..311170920 100644
--- a/yt_dlp/postprocessor/ffmpeg.py
+++ b/yt_dlp/postprocessor/ffmpeg.py
@@ -478,7 +478,7 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor):
class FFmpegVideoConvertorPP(FFmpegPostProcessor):
SUPPORTED_EXTS = ('mp4', 'mkv', 'flv', 'webm', 'mov', 'avi', 'mp3', 'mka', 'm4a', 'ogg', 'opus')
FORMAT_RE = re.compile(r'{0}(?:/{0})*$'.format(r'(?:\w+>)?(?:%s)' % '|'.join(SUPPORTED_EXTS)))
- _action = 'converting'
+ _ACTION = 'converting'
def __init__(self, downloader=None, preferedformat=None):
super(FFmpegVideoConvertorPP, self).__init__(downloader)
@@ -497,29 +497,28 @@ class FFmpegVideoConvertorPP(FFmpegPostProcessor):
return []
@PostProcessor._restrict_to(images=False)
- def run(self, information):
- path, source_ext = information['filepath'], information['ext'].lower()
+ def run(self, info):
+ filename, source_ext = info['filepath'], info['ext'].lower()
target_ext = self._target_ext(source_ext)
_skip_msg = (
- 'could not find a mapping for %s' if not target_ext
- else 'already is in target format %s' if source_ext == target_ext
+ f'could not find a mapping for {source_ext}' if not target_ext
+ else f'already is in target format {source_ext}' if source_ext == target_ext
else None)
if _skip_msg:
- self.to_screen('Not %s media file "%s"; %s' % (self._action, path, _skip_msg % source_ext))
- return [], information
+ self.to_screen(f'Not {self._ACTION} media file {filename!r}; {_skip_msg}')
+ return [], info
- prefix, sep, oldext = path.rpartition('.')
- outpath = prefix + sep + target_ext
- self.to_screen('%s video from %s to %s; Destination: %s' % (self._action.title(), source_ext, target_ext, outpath))
- self.run_ffmpeg(path, outpath, self._options(target_ext))
+ outpath = replace_extension(filename, target_ext, source_ext)
+ self.to_screen(f'{self._ACTION.title()} video from {source_ext} to {target_ext}; Destination: {outpath}')
+ self.run_ffmpeg(filename, outpath, self._options(target_ext))
- information['filepath'] = outpath
- information['format'] = information['ext'] = target_ext
- return [path], information
+ info['filepath'] = outpath
+ info['format'] = info['ext'] = target_ext
+ return [filename], info
class FFmpegVideoRemuxerPP(FFmpegVideoConvertorPP):
- _action = 'remuxing'
+ _ACTION = 'remuxing'
@staticmethod
def _options(target_ext):
diff --git a/yt_dlp/postprocessor/sponsorblock.py b/yt_dlp/postprocessor/sponsorblock.py
index 6264d45c5..7265a9de7 100644
--- a/yt_dlp/postprocessor/sponsorblock.py
+++ b/yt_dlp/postprocessor/sponsorblock.py
@@ -4,7 +4,7 @@ from hashlib import sha256
from .ffmpeg import FFmpegPostProcessor
from ..compat import compat_urllib_parse_urlencode, compat_HTTPError
-from ..utils import PostProcessingError, sanitized_Request
+from ..utils import PostProcessingError, network_exceptions, sanitized_Request
class SponsorBlockPP(FFmpegPostProcessor):
@@ -88,9 +88,9 @@ class SponsorBlockPP(FFmpegPostProcessor):
self.write_debug(f'SponsorBlock query: {url}')
try:
rsp = self._downloader.urlopen(sanitized_Request(url))
- except compat_HTTPError as e:
- if e.code == 404:
+ except network_exceptions as e:
+ if isinstance(e, compat_HTTPError) and e.code == 404:
return []
- raise PostProcessingError(f'Error communicating with SponsorBlock API - {e}')
+ raise PostProcessingError(f'Unable to communicate with SponsorBlock API - {e}')
return json.loads(rsp.read().decode(rsp.info().get_param('charset') or 'utf-8'))