From 3799177bdb0ebe62bb41bfaba83c1fdb408658be Mon Sep 17 00:00:00 2001 From: Yen Chi Hsuan Date: Thu, 9 Jun 2016 22:28:10 +0800 Subject: [PATCH] [postprocessor] Add DEPENDENCY markers --- youtube_dl/postprocessor/embedthumbnail.py | 3 +++ youtube_dl/postprocessor/execafterdownload.py | 7 ++++++- youtube_dl/postprocessor/ffmpeg.py | 19 +++++++++++++++++++ youtube_dl/postprocessor/metadatafromtitle.py | 2 ++ youtube_dl/postprocessor/xattrpp.py | 2 ++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/youtube_dl/postprocessor/embedthumbnail.py b/youtube_dl/postprocessor/embedthumbnail.py index 3bad5a266..1e1e4ff8b 100644 --- a/youtube_dl/postprocessor/embedthumbnail.py +++ b/youtube_dl/postprocessor/embedthumbnail.py @@ -9,6 +9,7 @@ from .ffmpeg import FFmpegPostProcessor from ..utils import ( check_executable, + DownloadTarget, encodeArgument, encodeFilename, PostProcessingError, @@ -22,6 +23,8 @@ class EmbedThumbnailPPError(PostProcessingError): class EmbedThumbnailPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA, DownloadTarget.THUMBNAILS]) + def __init__(self, downloader=None, already_have_thumbnail=False): super(EmbedThumbnailPP, self).__init__(downloader) self._already_have_thumbnail = already_have_thumbnail diff --git a/youtube_dl/postprocessor/execafterdownload.py b/youtube_dl/postprocessor/execafterdownload.py index 90630c2d7..89e2f6de8 100644 --- a/youtube_dl/postprocessor/execafterdownload.py +++ b/youtube_dl/postprocessor/execafterdownload.py @@ -4,10 +4,15 @@ import subprocess from .common import PostProcessor from ..compat import compat_shlex_quote -from ..utils import PostProcessingError +from ..utils import ( + DownloadTarget, + PostProcessingError, +) class ExecAfterDownloadPP(PostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def __init__(self, downloader, exec_cmd): super(ExecAfterDownloadPP, self).__init__(downloader) self.exec_cmd = exec_cmd diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index fa99b0c2a..3efd3d88b 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -12,6 +12,7 @@ from ..compat import ( compat_subprocess_get_DEVNULL, ) from ..utils import ( + DownloadTarget, encodeArgument, encodeFilename, get_exe_version, @@ -180,6 +181,8 @@ class FFmpegPostProcessor(PostProcessor): class FFmpegExtractAudioPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def __init__(self, downloader=None, preferredcodec=None, preferredquality=None, nopostoverwrites=False): FFmpegPostProcessor.__init__(self, downloader) if preferredcodec is None: @@ -308,6 +311,8 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor): class FFmpegVideoConvertorPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def __init__(self, downloader=None, preferedformat=None): super(FFmpegVideoConvertorPP, self).__init__(downloader) self._preferedformat = preferedformat @@ -331,6 +336,8 @@ class FFmpegVideoConvertorPP(FFmpegPostProcessor): class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA, DownloadTarget.SUBTITLES]) + def run(self, information): if information['ext'] not in ('mp4', 'webm', 'mkv'): self._downloader.to_screen('[ffmpeg] Subtitles can only be embedded in mp4, webm or mkv files') @@ -387,6 +394,8 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): class FFmpegMetadataPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def run(self, info): metadata = {} @@ -437,6 +446,8 @@ class FFmpegMetadataPP(FFmpegPostProcessor): class FFmpegMergerPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def run(self, info): filename = info['filepath'] temp_filename = prepend_extension(filename, 'temp') @@ -465,6 +476,8 @@ class FFmpegMergerPP(FFmpegPostProcessor): class FFmpegFixupStretchedPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def run(self, info): stretched_ratio = info.get('stretched_ratio') if stretched_ratio is None or stretched_ratio == 1: @@ -484,6 +497,8 @@ class FFmpegFixupStretchedPP(FFmpegPostProcessor): class FFmpegFixupM4aPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def run(self, info): if info.get('container') != 'm4a_dash': return [], info @@ -502,6 +517,8 @@ class FFmpegFixupM4aPP(FFmpegPostProcessor): class FFmpegFixupM3u8PP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) + def run(self, info): filename = info['filepath'] temp_filename = prepend_extension(filename, 'temp') @@ -517,6 +534,8 @@ class FFmpegFixupM3u8PP(FFmpegPostProcessor): class FFmpegSubtitlesConvertorPP(FFmpegPostProcessor): + DEPENDENCY = set([DownloadTarget.SUBTITLES]) + def __init__(self, downloader=None, format=None): super(FFmpegSubtitlesConvertorPP, self).__init__(downloader) self.format = format diff --git a/youtube_dl/postprocessor/metadatafromtitle.py b/youtube_dl/postprocessor/metadatafromtitle.py index 42377fa0f..9078fcaf1 100644 --- a/youtube_dl/postprocessor/metadatafromtitle.py +++ b/youtube_dl/postprocessor/metadatafromtitle.py @@ -11,6 +11,8 @@ class MetadataFromTitlePPError(PostProcessingError): class MetadataFromTitlePP(PostProcessor): + DEPENDENCY = set() + def __init__(self, downloader, titleformat): super(MetadataFromTitlePP, self).__init__(downloader) self._titleformat = titleformat diff --git a/youtube_dl/postprocessor/xattrpp.py b/youtube_dl/postprocessor/xattrpp.py index e39ca60aa..ae3db7edf 100644 --- a/youtube_dl/postprocessor/xattrpp.py +++ b/youtube_dl/postprocessor/xattrpp.py @@ -9,6 +9,7 @@ from .common import PostProcessor from ..compat import compat_os_name from ..utils import ( check_executable, + DownloadTarget, hyphenate_date, version_tuple, PostProcessingError, @@ -33,6 +34,7 @@ class XAttrMetadataError(PostProcessingError): class XAttrMetadataPP(PostProcessor): + DEPENDENCY = set([DownloadTarget.MEDIA]) # # More info about extended attributes for media: