aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/trollvids.py
diff options
context:
space:
mode:
authorAndrew "Akari" Alexeyew <akari@dbc.1gb.ua>2015-12-02 06:00:47 +0200
committerSergey M․ <dstftw@gmail.com>2016-01-22 23:29:24 +0600
commitd570746e45cff3c0f89654bf748e44a5da75a924 (patch)
tree2100d351de4a4e310f7a9a454894369cd2a41de7 /youtube_dl/extractor/trollvids.py
parent4fcd9d147df9b06d954b8f8a1749b50609529ed4 (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.py49
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,
+ },
+ },
+ ]