diff options
author | remitamine <remitamine@gmail.com> | 2016-03-13 14:53:17 +0100 |
---|---|---|
committer | remitamine <remitamine@gmail.com> | 2016-03-13 15:18:51 +0100 |
commit | 2cb99ebbd0284f0de4bafd03179653bb9599b080 (patch) | |
tree | 7925c7abb3a2bdff7a86f82b0e14bf9b5de97ba0 | |
parent | 91ee320bfaa279571b27bf44730c8677ff2b3980 (diff) |
[downloader/external] add can_download mathod for checking downloader availibilty and support
-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) |