X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Frtlnow.py;h=785a8045e09d65f31405fbd15106dbeb684afcc9;hb=1748d67aea66b6d63bc203ada1036110e7fd2402;hp=e84919aa5784fe430a7eeaa13a9782547d2e95e2;hpb=1bb92aff55abb23eb0c23aca858c2eab77cf84c5;p=youtube-dl diff --git a/youtube_dl/extractor/rtlnow.py b/youtube_dl/extractor/rtlnow.py index e84919aa5..785a8045e 100644 --- a/youtube_dl/extractor/rtlnow.py +++ b/youtube_dl/extractor/rtlnow.py @@ -8,7 +8,6 @@ from ..utils import ( ExtractorError, clean_html, unified_strdate, - parse_duration, int_or_none, ) @@ -82,7 +81,7 @@ class RTLnowIE(InfoExtractor): 'id': '99205', 'ext': 'flv', 'title': 'Medicopter 117 - Angst!', - 'description': 'md5:895b1df01639b5f61a04fc305a5cb94d', + 'description': 're:^Im Therapiezentrum \'Sonnalm\' kommen durch eine Unachtsamkeit die für die B.handlung mit Phobikern gehaltenen Voglespinnen frei\. Eine Ausreißerin', 'thumbnail': 'http://autoimg.static-fra.de/superrtlnow/287529/1500x1500/image2.jpg', 'upload_date': '20080928', 'duration': 2691, @@ -92,18 +91,17 @@ class RTLnowIE(InfoExtractor): }, }, { - 'url': 'http://www.n-tvnow.de/top-gear/episode-1-2013-01-01-00-00-00.php?film_id=124903&player=1&season=10', + 'url': 'http://rtl-now.rtl.de/der-bachelor/folge-4.php?film_id=188729&player=1&season=5', 'info_dict': { - 'id': '124903', + 'id': '188729', 'ext': 'flv', - 'title': 'Top Gear vom 01.01.2013', - 'description': 'Episode 1', - 'upload_date': '20130101', - }, - 'params': { - 'skip_download': True, - }, - 'skip': 'Only works from Germany', + 'upload_date': '20150204', + 'description': 'md5:5e1ce23095e61a79c166d134b683cecc', + 'title': 'Der Bachelor - Folge 4', + } + }, { + 'url': 'http://www.n-tvnow.de/deluxe-alles-was-spass-macht/thema-ua-luxushotel-fuer-vierbeiner.php?container_id=153819&player=1&season=0', + 'only_matching': True, }, ] @@ -124,13 +122,15 @@ class RTLnowIE(InfoExtractor): upload_date = unified_strdate(self._html_search_meta('uploadDate', webpage, 'upload date')) + mobj = re.search(r'', webpage) + duration = int(mobj.group('seconds')) if mobj else None + playerdata_url = self._html_search_regex( r"'playerdata': '(?P[^']+)'", webpage, 'playerdata_url') playerdata = self._download_xml(playerdata_url, video_id, 'Downloading player data XML') videoinfo = playerdata.find('./playlist/videoinfo') - duration = parse_duration(videoinfo.find('duration').text) formats = [] for filename in videoinfo.findall('filename'): @@ -143,9 +143,18 @@ class RTLnowIE(InfoExtractor): 'player_url': video_page_url + 'includes/vodplayer.swf', } else: - fmt = { - 'url': filename.text, - } + mobj = re.search(r'.*/(?P[^/]+)/videos/(?P.+)\.f4m', filename.text) + if mobj: + fmt = { + 'url': 'rtmpe://fms.rtl.de/' + mobj.group('hoster'), + 'play_path': 'mp4:' + mobj.group('play_path'), + 'page_url': url, + 'player_url': video_page_url + 'includes/vodplayer.swf', + } + else: + fmt = { + 'url': filename.text, + } fmt.update({ 'width': int_or_none(filename.get('width')), 'height': int_or_none(filename.get('height')), @@ -162,4 +171,4 @@ class RTLnowIE(InfoExtractor): 'upload_date': upload_date, 'duration': duration, 'formats': formats, - } \ No newline at end of file + }