diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 2e7272931..44ab7ce3c 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -367,6 +367,8 @@ from .nbc import ( from .ndr import ( NDRIE, NJoyIE, + NDREmbedIE, + NJoyEmbedIE, ) from .ndtv import NDTVIE from .netzkino import NetzkinoIE diff --git a/youtube_dl/extractor/ndr.py b/youtube_dl/extractor/ndr.py index 79a13958b..87f3edbbe 100644 --- a/youtube_dl/extractor/ndr.py +++ b/youtube_dl/extractor/ndr.py @@ -1,77 +1,92 @@ # encoding: utf-8 from __future__ import unicode_literals -import re - from .common import InfoExtractor from ..utils import ( ExtractorError, int_or_none, qualities, - parse_duration, ) -class NDRBaseIE(InfoExtractor): - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') +preference = qualities(['xs', 's', 'm','l', 'xl']) - page = self._download_webpage(url, video_id, 'Downloading page') - title = self._og_search_title(page).strip() - description = self._og_search_description(page) - if description: - description = description.strip() - - duration = int_or_none(self._html_search_regex(r'duration: (\d+),\n', page, 'duration', default=None)) - if not duration: - duration = parse_duration(self._html_search_regex( - r'(\d+:\d+)', - page, 'duration', default=None)) +class NDRBaseIE(InfoExtractor): + def extract_video_info(self, playlist, video_id): formats = [] - - mp3_url = re.search(r'''\{src:'(?P