diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2015-01-24 01:38:48 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2015-01-24 01:38:48 +0100 |
commit | 222516d97d5ff9e62f3a9860fe2e65aa99c001b3 (patch) | |
tree | aefcc3ec30eb99616bde4d5c50a2f8ac2734704b /youtube_dl/downloader/__init__.py | |
parent | a055469fafe088b6aa0e569d989cbf7f70535951 (diff) |
[downloader] Lay groundwork for external downloaders.
This comes with a very simply implementation for wget; the real work is in setting up the infrastructure.
Diffstat (limited to 'youtube_dl/downloader/__init__.py')
-rw-r--r-- | youtube_dl/downloader/__init__.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/youtube_dl/downloader/__init__.py b/youtube_dl/downloader/__init__.py index 2aca3cab5..eff1122c5 100644 --- a/youtube_dl/downloader/__init__.py +++ b/youtube_dl/downloader/__init__.py @@ -1,12 +1,13 @@ from __future__ import unicode_literals from .common import FileDownloader +from .external import get_external_downloader +from .f4m import F4mFD from .hls import HlsFD from .hls import NativeHlsFD from .http import HttpFD from .mplayer import MplayerFD from .rtmp import RtmpFD -from .f4m import F4mFD from ..utils import ( determine_protocol, @@ -27,6 +28,12 @@ def get_suitable_downloader(info_dict, params={}): protocol = determine_protocol(info_dict) info_dict['protocol'] = protocol + external_downloader = params.get('external_downloader') + if external_downloader is not None: + ed = get_external_downloader(external_downloader) + if ed.supports(info_dict): + return ed + return PROTOCOL_MAP.get(protocol, HttpFD) |