From 748120859f82afbbf809d50a0402cd6bc22d095a Mon Sep 17 00:00:00 2001 From: Joel Leclerc Date: Tue, 23 Dec 2014 20:38:45 -0700 Subject: [PATCH] Added extra extractors --- youtube-dl | Bin 666004 -> 666065 bytes youtube_dl/extractor/__init__.py | 7 ++- youtube_dl/extractor/play44.py | 85 ++++++++++++++++++++++++++++++ youtube_dl/extractor/soulanime.py | 2 +- 4 files changed, 92 insertions(+), 2 deletions(-) diff --git a/youtube-dl b/youtube-dl index aa3a31a793865373d8748ae5d03a9b3614709cf7..97ccc00f738e7da80b1b253ceedf263861b0222d 100755 GIT binary patch delta 34674 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 Ag#Z8m diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index a2f38f939..17f9f14cb 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -293,7 +293,12 @@ from .played import PlayedIE from .play44 import ( Play44IE, ByZooIE, - Video44IE + Video44IE, + VideoWingIE, + PlayPandaIE, + VideoZooIE, + PlayBBIE, + EasyVideoIE ) from .playfm import PlayFMIE from .playvid import PlayvidIE diff --git a/youtube_dl/extractor/play44.py b/youtube_dl/extractor/play44.py index 8f3c0f418..ac41d8f56 100644 --- a/youtube_dl/extractor/play44.py +++ b/youtube_dl/extractor/play44.py @@ -80,3 +80,88 @@ class Video44IE(Play44IE): 'description': 'chaoshead-12' } } + +class VideoWingIE(Play44IE): + IE_NAME = "videowing" + IE_DESC = "VideoWing" + + _VALID_URL = r'http://[w.]*videowing\.[^/]*/.*video=/*(?P[^&].).*' + + _TEST = { + 'url': 'http://videowing.me/embed?w=718&h=438&video=ongoing/boku_wa_tomodachi_ga_sukunai_-_05.mp4', + 'md5': '4ed320e353ed26c742c4f12a9c210b60', + 'info_dict': { + 'id': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'ext': 'mp4', + 'title': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'description': 'boku_wa_tomodachi_ga_sukunai_-_05' + } + } + +class PlayPandaIE(Play44IE): + IE_NAME = "playpanda" + IE_DESC = "PlayPanda" + + _VALID_URL = r'http://[w.]*playpanda\.[^/]*/.*vid=/*(?P[^&].).*' + + _TEST = { + 'url': 'http://playpanda.net/embed.php?w=718&h=438&vid=at/nw/boku_wa_tomodachi_ga_sukunai_-_05.mp4', + 'md5': '4ed320e353ed26c742c4f12a9c210b60', + 'info_dict': { + 'id': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'ext': 'mp4', + 'title': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'description': 'boku_wa_tomodachi_ga_sukunai_-_05' + } + } + +class VideoZooIE(Play44IE): + IE_NAME = "videozoo" + IE_DESC = "videozoo" + + _VALID_URL = r'http://[w.]*videozoo\.[^/]*/.*vid=/*(?P[^&].).*' + + _TEST = { + 'url': 'http://videozoo.me/embed.php?w=718&h=438&vid=at/nw/boku_wa_tomodachi_ga_sukunai_-_05.mp4', + 'md5': '4ed320e353ed26c742c4f12a9c210b60', + 'info_dict': { + 'id': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'ext': 'mp4', + 'title': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'description': 'boku_wa_tomodachi_ga_sukunai_-_05' + } + } + +class PlayBBIE(Play44IE): + IE_NAME = "playbb" + IE_DESC = "PlayBB" + + _VALID_URL = r'http://[w.]*playbb\.[^/]*/.*vid=/*(?P[^&].).*' + + _TEST = { + 'url': 'http://playbb.me/embed.php?w=718&h=438&vid=at/nw/boku_wa_tomodachi_ga_sukunai_-_05.mp4', + 'md5': '4ed320e353ed26c742c4f12a9c210b60', + 'info_dict': { + 'id': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'ext': 'mp4', + 'title': 'boku_wa_tomodachi_ga_sukunai_-_05', + 'description': 'boku_wa_tomodachi_ga_sukunai_-_05' + } + } + +class EasyVideoIE(Play44IE): + IE_NAME = "easyvideo" + IE_DESC = "EasyVideo" + + _VALID_URL = r'http://[w.]*easyvideo\.[^/]*/.*file=/*(?P[^&].).*' + + _TEST = { + 'url': 'http://easyvideo.me/gogo/?w=718&h=438&file=bokuwatomodachigasukunai-04.flv&sv=1', + 'md5': '26178b57629b7650106d72b191137176', + 'info_dict': { + 'id': 'bokuwatomodachigasukunai-04', + 'ext': 'mp4', + 'title': 'bokuwatomodachigasukunai-04', + 'description': 'bokuwatomodachigasukunai-04' + } + } diff --git a/youtube_dl/extractor/soulanime.py b/youtube_dl/extractor/soulanime.py index cd83c2349..8e8d2f5a2 100644 --- a/youtube_dl/extractor/soulanime.py +++ b/youtube_dl/extractor/soulanime.py @@ -77,7 +77,7 @@ class SoulAnimeSeriesIE(InfoExtractor): def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) series_id = mobj.group('id') - domain = mobj.group('domain') + domain = mobj.group('domain') pattern = re.compile(self._EPISODE_REGEX)