aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-11-12 23:08:05 +0700
committerSergey M․ <dstftw@gmail.com>2016-11-12 23:08:05 +0700
commit3d2729514f432ac4d80b8dffbacb893b603f6d68 (patch)
tree0040f752092baf3fe9eb9f7d2ae85a5f0975658d
parentf076d7972c80ad7db9909fef0f34f0c579ebee1b (diff)
downloadyoutube-dl-3d2729514f432ac4d80b8dffbacb893b603f6d68.tar.xz
[plays] Improve extraction and add support for embed URLs
-rw-r--r--youtube_dl/extractor/plays.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/youtube_dl/extractor/plays.py b/youtube_dl/extractor/plays.py
index 5ac0292fa..ddfc6f148 100644
--- a/youtube_dl/extractor/plays.py
+++ b/youtube_dl/extractor/plays.py
@@ -8,8 +8,8 @@ from ..utils import int_or_none
class PlaysTVIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?plays\.tv/video/(?P<id>[0-9a-f]{18})'
- _TEST = {
+ _VALID_URL = r'https?://(?:www\.)?plays\.tv/(?:video|embeds)/(?P<id>[0-9a-f]{18})'
+ _TESTS = [{
'url': 'https://plays.tv/video/56af17f56c95335490/when-you-outplay-the-azir-wall',
'md5': 'dfeac1198506652b5257a62762cec7bc',
'info_dict': {
@@ -18,14 +18,18 @@ class PlaysTVIE(InfoExtractor):
'title': 'Bjergsen - When you outplay the Azir wall',
'description': 'Posted by Bjergsen',
}
- }
+ }, {
+ 'url': 'https://plays.tv/embeds/56af17f56c95335490',
+ 'only_matching': True,
+ }]
def _real_extract(self, url):
video_id = self._match_id(url)
- webpage = self._download_webpage(url, video_id)
+ webpage = self._download_webpage(
+ 'https://plays.tv/video/%s' % video_id, video_id)
+
+ info = self._search_json_ld(webpage, video_id,)
- content = self._search_json_ld(webpage, video_id)
- title = content['title']
mpd_url, sources = re.search(
r'(?s)<video[^>]+data-mpd="([^"]+)"[^>]*>(.+?)</video>',
webpage).groups()
@@ -39,10 +43,11 @@ class PlaysTVIE(InfoExtractor):
})
self._sort_formats(formats)
- return {
+ info.update({
'id': video_id,
- 'title': title,
'description': self._og_search_description(webpage),
- 'thumbnail': self._og_search_thumbnail(webpage),
+ 'thumbnail': info.get('thumbnail') or self._og_search_thumbnail(webpage),
'formats': formats,
- }
+ })
+
+ return info