youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 3d1bb6b4dd472e0232af029f05e0a1c8e3c1e1c9
parent 1db2666916f25d9e3d6e73c60fe36e1ce99d1813
Author: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Date:   Wed, 16 Apr 2014 15:45:05 +0200

Add an extractor for tlc.de (fixes #2748)

Diffstat:
Myoutube_dl/extractor/__init__.py | 1+
Ayoutube_dl/extractor/tlc.py | 42++++++++++++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py @@ -251,6 +251,7 @@ from .tf1 import TF1IE from .theplatform import ThePlatformIE from .thisav import ThisAVIE from .tinypic import TinyPicIE +from .tlc import TlcDeIE from .toutv import TouTvIE from .toypics import ToypicsUserIE, ToypicsIE from .traileraddict import TrailerAddictIE diff --git a/youtube_dl/extractor/tlc.py b/youtube_dl/extractor/tlc.py @@ -0,0 +1,42 @@ +# encoding: utf-8 +from __future__ import unicode_literals +import re + +from .common import InfoExtractor +from .brightcove import BrightcoveIE + + +class TlcDeIE(InfoExtractor): + IE_NAME = 'tlc.de' + _VALID_URL = r'http://www\.tlc\.de/sendungen/[^/]+/videos/(?P<title>[^/?]+)' + + _TEST = { + 'url': 'http://www.tlc.de/sendungen/breaking-amish/videos/#3235167922001', + 'info_dict': { + 'id': '3235167922001', + 'ext': 'mp4', + 'title': 'Breaking Amish: Die Welt da draußen', + 'uploader': 'Discovery Networks - Germany', + 'description': 'Vier Amische und eine Mennonitin wagen in New York' + ' den Sprung in ein komplett anderes Leben. Begleitet sie auf' + ' ihrem spannenden Weg.', + }, + } + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + title = mobj.group('title') + webpage = self._download_webpage(url, title) + iframe_url = self._search_regex( + '<iframe src="(http://www\.tlc\.de/wp-content/.+?)"', webpage, + 'iframe url') + # Otherwise we don't get the correct 'BrightcoveExperience' element, + # example: http://www.tlc.de/sendungen/cake-boss/videos/cake-boss-cannoli-drama/ + iframe_url = iframe_url.replace('.htm?', '.php?') + iframe = self._download_webpage(iframe_url, title) + + return { + '_type': 'url', + 'url': BrightcoveIE._extract_brightcove_url(iframe), + 'ie': BrightcoveIE.ie_key(), + }