From 4dcba52fed1e2f1747092d3470648874f0b44047 Mon Sep 17 00:00:00 2001 From: cpm Date: Fri, 11 Nov 2016 15:48:19 -0500 Subject: [PATCH 1/2] [PlaysTV] Fix for plays.tv extractor, adding additional tests --- youtube_dl/extractor/plays.py | 46 +++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/youtube_dl/extractor/plays.py b/youtube_dl/extractor/plays.py index c3c38cf4a..3d7f05a42 100644 --- a/youtube_dl/extractor/plays.py +++ b/youtube_dl/extractor/plays.py @@ -9,29 +9,55 @@ from ..utils import int_or_none class PlaysTVIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?plays\.tv/video/(?P[0-9a-f]{18})' - _TEST = { - 'url': 'http://plays.tv/video/56af17f56c95335490/when-you-outplay-the-azir-wall', + _TESTS = [{ + 'url': 'https://plays.tv/video/57698d69e6c84884a2/just-a-typical-reaper-potg', + 'md5': 'c4bdc35a0c9ca1f95c6ecad2f99c0e76', + 'info_dict': { + 'id': '57698d69e6c84884a2', + 'ext': 'mp4', + 'title': 'Solfect - Just a typical Reaper POTG', + 'description': 'Posted by Solfect', + } + }, { + 'url': 'https://plays.tv/video/56af17f56c95335490/when-you-outplay-the-azir-wall', 'md5': 'dfeac1198506652b5257a62762cec7bc', 'info_dict': { 'id': '56af17f56c95335490', 'ext': 'mp4', - 'title': 'When you outplay the Azir wall', + 'title': 'Bjergsen - When you outplay the Azir wall', 'description': 'Posted by Bjergsen', } - } + }, { + 'url': 'https://plays.tv/video/58236095d388d140aa/-?from=user', + 'md5': '09535d1d157f679e6446fb39ce51645a', + 'info_dict': { + 'id': '58236095d388d140aa', + 'ext': 'mp4', + 'title': 'akn3ex - \u63a7\u3048\u3081\u306b\u8a00\u3063\u3066\u9811\u5f35\u3063\u3066\u308b', + 'description': 'Posted by akn3ex', + } + }, { + 'url': 'http://plays.tv/video/56d77f74866aa25854/pro-abortion-propaganda?from=search&search=dota+2', + 'md5': '3e3fc1d5c20cb373eb3143bbb4ca5070', + 'info_dict': { + 'id': '56d77f74866aa25854', + 'ext': 'mp4', + 'title': 'SavageIs - pro abortion propaganda', + 'description': 'Posted by SavageIs', + } + }] def _real_extract(self, url): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) - title = self._og_search_title(webpage) - content = self._parse_json( - self._search_regex( - r'R\.bindContent\(({.+?})\);', webpage, - 'content'), video_id)['content'] + content = self._search_regex( + r'