aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/downloader/__init__.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2015-01-24 01:38:48 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2015-01-24 01:38:48 +0100
commit222516d97d5ff9e62f3a9860fe2e65aa99c001b3 (patch)
treeaefcc3ec30eb99616bde4d5c50a2f8ac2734704b /youtube_dl/downloader/__init__.py
parenta055469fafe088b6aa0e569d989cbf7f70535951 (diff)
downloadyoutube-dl-222516d97d5ff9e62f3a9860fe2e65aa99c001b3.tar.xz
[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__.py9
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)