added trutubeIE
[youtube-dl] / youtube_dl / extractor / trutube.py
1 import re
2
3 from .common import InfoExtractor
4 from ..utils import (
5     ExtractorError,
6 )
7
8
9 class TruTubeIE(InfoExtractor):
10     _VALID_URL = r'(?:https?://)?(?:www\.)?(?P<url>trutube\.tv/video/(?P<videoid>.*/.*))'
11     _TEST = {
12         'url': ('http://www.trutube.tv/video/20814/Ernst-Zundel-met-les-Jui'
13                 'fs-en-guarde-VOSTFR'),
14         'md5': '9973aa3c2870626799d2ac4e36cfc3dc',
15         'info_dict': {
16             u"title": u"TruTube.TV - Spitting in the face of die-versity",
17             u"ext": u"mp4"
18         }
19     }
20
21     def _real_extract(self, url):
22         mobj = re.match(self._VALID_URL, url)
23
24         video_id = mobj.group('videoid')
25
26         # Get webpage content
27         webpage = self._download_webpage(url, video_id)
28
29         # Get the video title
30         video_title = self._html_search_regex(r'<title>(?P<title>.*)</title>',
31                                               webpage, 'title').strip()
32
33         video_url = self._search_regex(r'(http://.*\.(?:mp4|flv))',
34                                        webpage, u'video URL')
35
36         ext = video_url[-3:]
37
38         return {
39             'id': video_id,
40             'url': video_url,
41             'title': video_title,
42             'ext': ext
43             }