aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/svt.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2018-04-05 00:28:36 +0700
committerSergey M․ <dstftw@gmail.com>2018-04-05 00:29:13 +0700
commit1236ac6b0bc5ef49e4065ddfc310d15651633093 (patch)
tree7d955ee83114ff6e17c5c5469d768c1e066c16f2 /youtube_dl/extractor/svt.py
parentdf146eb2827a97da507833c08169d84d708dfb02 (diff)
[svtplay] Share svtplay regex
Diffstat (limited to 'youtube_dl/extractor/svt.py')
-rw-r--r--youtube_dl/extractor/svt.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/youtube_dl/extractor/svt.py b/youtube_dl/extractor/svt.py
index d1d601b1f..b544da414 100644
--- a/youtube_dl/extractor/svt.py
+++ b/youtube_dl/extractor/svt.py
@@ -128,7 +128,11 @@ class SVTIE(SVTBaseIE):
return info_dict
-class SVTPlayIE(SVTBaseIE):
+class SVTPlayBaseIE(SVTBaseIE):
+ _SVTPLAY_RE = r'root\s*\[\s*(["\'])_*svtplay\1\s*\]\s*=\s*(?P<json>{.+?})\s*;\s*\n'
+
+
+class SVTPlayIE(SVTPlayBaseIE):
IE_DESC = 'SVT Play and Öppet arkiv'
_VALID_URL = r'https?://(?:www\.)?(?:svtplay|oppetarkiv)\.se/(?:video|klipp)/(?P<id>[0-9]+)'
_TESTS = [{
@@ -163,8 +167,8 @@ class SVTPlayIE(SVTBaseIE):
data = self._parse_json(
self._search_regex(
- r'root\["__svtplay"\]\s*=\s*([^;]+);',
- webpage, 'embedded data', default='{}'),
+ self._SVTPLAY_RE, webpage, 'embedded data', default='{}',
+ group='json'),
video_id, fatal=False)
thumbnail = self._og_search_thumbnail(webpage)
@@ -197,7 +201,7 @@ class SVTPlayIE(SVTBaseIE):
return info_dict
-class SVTSeriesIE(InfoExtractor):
+class SVTSeriesIE(SVTPlayBaseIE):
_VALID_URL = r'https?://(?:www\.)?svtplay\.se/(?P<id>[^/?&#]+)'
_TESTS = [{
'url': 'https://www.svtplay.se/rederiet',
@@ -235,8 +239,7 @@ class SVTSeriesIE(InfoExtractor):
root = self._parse_json(
self._search_regex(
- r'root\[\s*(["\'])_*svtplay\1\s*\]\s*=\s*(?P<json>{.+?})\s*;\s*\n',
- webpage, 'content', group='json'),
+ self._SVTPLAY_RE, webpage, 'content', group='json'),
series_id)
season_name = None