[plays] Improve extraction and add support for embed URLs
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user