aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/downloader/__init__.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-12-23 05:03:32 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2013-12-23 05:03:32 +0100
commit9fc3bef87a1009eb48f2012f3eab65761a53ba5e (patch)
treea8f80150af91bc2c749116b80fb314fffefd432c /youtube_dl/downloader/__init__.py
parentd80044c235afcbcfa905ab08a82f6f972df25268 (diff)
parent3bc2ddccc8622379ec11e802dff30a635285a9c8 (diff)
downloadyoutube-dl-9fc3bef87a1009eb48f2012f3eab65761a53ba5e.tar.xz
Merge remote-tracking branch 'jaimeMF/split-downloaders'
Diffstat (limited to 'youtube_dl/downloader/__init__.py')
-rw-r--r--youtube_dl/downloader/__init__.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/youtube_dl/downloader/__init__.py b/youtube_dl/downloader/__init__.py
new file mode 100644
index 000000000..f19b490f1
--- /dev/null
+++ b/youtube_dl/downloader/__init__.py
@@ -0,0 +1,23 @@
+from .common import FileDownloader
+from .hls import HlsFD
+from .http import HttpFD
+from .mplayer import MplayerFD
+from .rtmp import RtmpFD
+
+from ..utils import (
+ determine_ext,
+)
+
+def get_suitable_downloader(info_dict):
+ """Get the downloader class that can handle the info dict."""
+ url = info_dict['url']
+
+ if url.startswith('rtmp'):
+ return RtmpFD
+ if determine_ext(url) == u'm3u8':
+ return HlsFD
+ if url.startswith('mms') or url.startswith('rtsp'):
+ return MplayerFD
+ else:
+ return HttpFD
+