From 4d9be98dbce0d060adeb1748d2a40848efc40e6d Mon Sep 17 00:00:00 2001 From: MikeCol Date: Mon, 27 Jan 2014 07:42:30 +0100 Subject: [PATCH] Malemotion extractor --- youtube_dl/extractor/__init__.py | 1 + youtube_dl/extractor/malemotion.py | 58 ++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 youtube_dl/extractor/malemotion.py diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index be3cada98..cc992a64d 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -115,6 +115,7 @@ LyndaCourseIE ) from .macgamestore import MacGameStoreIE +from .malemotion import MalemotionIE from .mdr import MDRIE from .metacafe import MetacafeIE from .metacritic import MetacriticIE diff --git a/youtube_dl/extractor/malemotion.py b/youtube_dl/extractor/malemotion.py new file mode 100644 index 000000000..62e99091d --- /dev/null +++ b/youtube_dl/extractor/malemotion.py @@ -0,0 +1,58 @@ +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import ( + compat_urllib_parse, +) + +class MalemotionIE(InfoExtractor): + _VALID_URL = r'^(?:https?://)?malemotion\.com/video/(.+?)\.(?P.+?)(#|$)' + _TEST = { + 'url': 'http://malemotion.com/video/bien-dur.10ew', + 'file': '10ew.mp4', + 'md5': 'b3cc49f953b107e4a363cdff07d100ce', + 'info_dict': { + "title": "Bien dur", + "age_limit": 18, + } + } + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group("id") + + webpage = self._download_webpage(url, video_id) + + self.report_extraction(video_id) + + # Extract video URL + video_url = compat_urllib_parse.unquote( + self._search_regex(r'(.*?)