diff options
author | Andrew "Akari" Alexeyew <akari@dbc.1gb.ua> | 2015-12-02 06:00:47 +0200 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-01-22 23:29:24 +0600 |
commit | d570746e45cff3c0f89654bf748e44a5da75a924 (patch) | |
tree | 2100d351de4a4e310f7a9a454894369cd2a41de7 /youtube_dl/extractor/trollvids.py | |
parent | 4fcd9d147df9b06d954b8f8a1749b50609529ed4 (diff) |
[nuevo] Generalize nuevo extractor and add support for trollvids
Supports only the nuevo player for now (most common).
[trollvids] convert duration to an int
[trollvids] added a test
[trollvids] made flake8 shut up
Generalized the Nuevo extractor
Affects: anitube, trollvids, trutube
[nuevo] Complied with the code comments.
Diffstat (limited to 'youtube_dl/extractor/trollvids.py')
-rw-r--r-- | youtube_dl/extractor/trollvids.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/youtube_dl/extractor/trollvids.py b/youtube_dl/extractor/trollvids.py new file mode 100644 index 000000000..e4fe620f7 --- /dev/null +++ b/youtube_dl/extractor/trollvids.py @@ -0,0 +1,49 @@ +# 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<id>[0-9]+)/+(?P<title>[^?&]+)' + 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, + }, + }, + ] |