diff options
| -rw-r--r-- | youtube_dl/downloader/__init__.py | 4 | ||||
| -rw-r--r-- | youtube_dl/downloader/external.py | 4 | 
2 files changed, 6 insertions, 2 deletions
| diff --git a/youtube_dl/downloader/__init__.py b/youtube_dl/downloader/__init__.py index 67c2840a5..daa5498d4 100644 --- a/youtube_dl/downloader/__init__.py +++ b/youtube_dl/downloader/__init__.py @@ -31,13 +31,13 @@ def get_suitable_downloader(info_dict, params={}):      protocol = determine_protocol(info_dict)      info_dict['protocol'] = protocol -    if (info_dict.get('start_time') or info_dict.get('end_time')) and FFmpegFD.available() and FFmpegFD.supports(info_dict): +    if (info_dict.get('start_time') or info_dict.get('end_time')) and FFmpegFD.can_download(info_dict):          return FFmpegFD      external_downloader = params.get('external_downloader')      if external_downloader is not None:          ed = get_external_downloader(external_downloader) -        if ed.available() and ed.supports(info_dict): +        if ed.can_download(info_dict):              return ed      if protocol == 'm3u8' and params.get('hls_prefer_native'): diff --git a/youtube_dl/downloader/external.py b/youtube_dl/downloader/external.py index daedf66de..fe2a0198c 100644 --- a/youtube_dl/downloader/external.py +++ b/youtube_dl/downloader/external.py @@ -59,6 +59,10 @@ class ExternalFD(FileDownloader):      def supports(cls, info_dict):          return info_dict['protocol'] in ('http', 'https', 'ftp', 'ftps') +    @classmethod +    def can_download(cls, info_dict): +        return cls.available() and cls.supports(info_dict) +      def _option(self, command_option, param):          return cli_option(self.params, command_option, param) | 
