aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-05-09 00:23:35 +0600
committerSergey M․ <dstftw@gmail.com>2015-05-09 00:23:35 +0600
commitbab19a8e91153705d6600fe1d1a0b0aa0bf93bb3 (patch)
tree0cdb80367f24780cb52df850cc7b07ce6aaae9eb
parent322915014f0378e2675a2a17cd67fe89a6e6a7d7 (diff)
downloadyoutube-dl-bab19a8e91153705d6600fe1d1a0b0aa0bf93bb3.zip
youtube-dl-bab19a8e91153705d6600fe1d1a0b0aa0bf93bb3.tar.gz
youtube-dl-bab19a8e91153705d6600fe1d1a0b0aa0bf93bb3.tar.bz2
[extractor/generic] Add support for svt embeds (Closes #5622)
-rw-r--r--youtube_dl/extractor/generic.py6
-rw-r--r--youtube_dl/extractor/svt.py7
2 files changed, 13 insertions, 0 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index cd7c47d..046bcb0 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -37,6 +37,7 @@ from .condenast import CondeNastIE
from .udn import UDNEmbedIE
from .senateisvp import SenateISVPIE
from .bliptv import BlipTVIE
+from .svt import SVTIE
class GenericIE(InfoExtractor):
@@ -1091,6 +1092,11 @@ class GenericIE(InfoExtractor):
if bliptv_url:
return self.url_result(bliptv_url, 'BlipTV')
+ # Look for SVT player
+ svt_url = SVTIE._extract_url(webpage)
+ if svt_url:
+ return self.url_result(svt_url, 'SVT')
+
# Look for embedded condenast player
matches = re.findall(
r'<iframe\s+(?:[a-zA-Z-]+="[^"]+"\s+)*?src="(https?://player\.cnevids\.com/embed/[^"]+")',
diff --git a/youtube_dl/extractor/svt.py b/youtube_dl/extractor/svt.py
index 732f020..fc20f66 100644
--- a/youtube_dl/extractor/svt.py
+++ b/youtube_dl/extractor/svt.py
@@ -64,6 +64,13 @@ class SVTIE(SVTBaseIE):
},
}
+ @staticmethod
+ def _extract_url(webpage):
+ mobj = re.search(
+ r'(?:<iframe src|href)="(?P<url>%s[^"]*)"' % SVTIE._VALID_URL, webpage)
+ if mobj:
+ return mobj.group('url')
+
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
widget_id = mobj.group('widget_id')