# encoding: utf-8 from __future__ import unicode_literals from .nuevo import NuevoBaseIE from ..compat import ( compat_urllib_parse_unquote ) import re class TrollvidsIE(NuevoBaseIE): _VALID_URL = r'http://(?:www\.)?trollvids\.com/+video/+(?P[0-9]+)/+(?P[^?&]+)' IE_NAME = 'trollvids' def _real_extract(self, url): match = re.match(self._VALID_URL, url) video_id = match.group('id') raw_video_title = match.group('title') url = 'http://trollvids.com/video/%s/%s' % (video_id, raw_video_title) config_url = 'http://trollvids.com/nuevo/player/config.php?v=%s' % video_id info = self._extract_nuevo(config_url, video_id) info.update({ 'webpage_url': url, 'age_limit': 18 }) if 'title' not in info: info['title'] = compat_urllib_parse_unquote(raw_video_title) return info _TESTS = [ { 'url': 'http://trollvids.com/video/2349002/%E3%80%90MMD-R-18%E3%80%91%E3%82%AC%E3%83%BC%E3%83%AB%E3%83%95%E3%83%AC%E3%83%B3%E3%83%89-carrymeoff', 'md5': '1d53866b2c514b23ed69e4352fdc9839', 'info_dict': { 'id': '2349002', 'ext': 'mp4', 'title': "【MMD R-18】ガールフレンド carry_me_off", 'age_limit': 18, 'duration': 216.78, }, }, ]