From 466de6880121d55de082975f0274cfab71b6c2ab Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Wed, 17 Jul 2013 11:16:53 +0200 Subject: [PATCH] [thisav] Add IE (Fixes #1056) --- youtube_dl/extractor/__init__.py | 1 + youtube_dl/extractor/thisav.py | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 youtube_dl/extractor/thisav.py diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index fea7513f9..6738c4168 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -58,6 +58,7 @@ from .steam import SteamIE from .teamcoco import TeamcocoIE from .ted import TEDIE from .tf1 import TF1IE +from .thisav import ThisAVIE from .traileraddict import TrailerAddictIE from .tudou import TudouIE from .tumblr import TumblrIE diff --git a/youtube_dl/extractor/thisav.py b/youtube_dl/extractor/thisav.py new file mode 100644 index 000000000..35b7379b6 --- /dev/null +++ b/youtube_dl/extractor/thisav.py @@ -0,0 +1,46 @@ +#coding: utf-8 + +import re + +from .common import InfoExtractor +from ..utils import ( + determine_ext, +) + +class ThisAVIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?thisav\.com/video/(?P[0-9]+)/.*' + _TEST = { + u"url": u"http://www.thisav.com/video/47734/%98%26sup1%3B%83%9E%83%82---just-fit.html", + u"file": u"47734.flv", + u"info_dict": { + u"title": u"高樹マリア - Just fit", + u"uploader": u"dj7970", + u"uploader_id": u"dj7970" + } + } + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + + video_id = mobj.group('id') + webpage = self._download_webpage(url, video_id) + title = self._html_search_regex(r'

([^<]*)

', webpage, u'title') + video_url = self._html_search_regex( + r"addVariable\('file','([^']+)'\);", webpage, u'video url') + uploader = self._html_search_regex( + r': ([^<]+)', + webpage, u'uploader name', fatal=False) + uploader_id = self._html_search_regex( + r': (?:[^<]+)', + webpage, u'uploader id', fatal=False) + ext = determine_ext(video_url) + + return { + '_type': 'video', + 'id': video_id, + 'url': video_url, + 'uploader': uploader, + 'uploader_id': uploader_id, + 'title': title, + 'ext': ext, + }