commit b0c8f2e9c8946f8aab4be0d1435e504aac0d317f
parent 51815886a98503593524ec6ffa778ff19d840e2a
Author: Déstin Reed <trox1972@users.noreply.github.com>
Date: Wed, 17 Aug 2016 12:45:24 +0200
[DBTV:generic] Add support for embeds
Diffstat:
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/youtube_dl/extractor/dbtv.py b/youtube_dl/extractor/dbtv.py
@@ -38,6 +38,12 @@ class DBTVIE(InfoExtractor):
'only_matching': True,
}]
+ @staticmethod
+ def _extract_urls(webpage):
+ return [url for _, url in re.findall(
+ r'<iframe[^>]+src=(["\'])((?:https?:)?//(?:www\.)?dbtv\.no/lazyplayer/\d+.*?)\1',
+ webpage)]
+
def _real_extract(self, url):
video_id, display_id = re.match(self._VALID_URL, url).groups()
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
@@ -73,6 +73,7 @@ from .eagleplatform import EaglePlatformIE
from .facebook import FacebookIE
from .soundcloud import SoundcloudIE
from .vbox7 import Vbox7IE
+from .dbtv import DBTVIE
class GenericIE(InfoExtractor):
@@ -1386,6 +1387,11 @@ class GenericIE(InfoExtractor):
},
'add_ie': [Vbox7IE.ie_key()],
},
+ {
+ # DBTV embeds
+ 'url': 'http://www.dagbladet.no/2016/02/23/nyheter/nordlys/ski/troms/ver/43254897/',
+ 'playlist_mincount': 3,
+ },
# {
# # TODO: find another test
# # http://schema.org/VideoObject
@@ -2257,6 +2263,11 @@ class GenericIE(InfoExtractor):
if vbox7_url:
return self.url_result(vbox7_url, Vbox7IE.ie_key())
+ # Look for DBTV embeds
+ dbtv_urls = DBTVIE._extract_urls(webpage)
+ if dbtv_urls:
+ return _playlist_from_matches(dbtv_urls, ie=DBTVIE.ie_key())
+
# Looking for http://schema.org/VideoObject
json_ld = self._search_json_ld(
webpage, video_id, default={}, expected_type='VideoObject')