]>
Commit | Line | Data |
---|---|---|
887a2279 YK |
1 | import re |
2 | ||
3 | from .common import InfoExtractor | |
4 | ||
5 | ||
6 | class TrailerAddictIE(InfoExtractor): | |
58d915df | 7 | _WORKING = False |
5886b38d | 8 | _VALID_URL = r'(?:https?://)?(?:www\.)?traileraddict\.com/(?:trailer|clip)/(?P<movie>.+?)/(?P<trailer_name>.+)' |
887a2279 | 9 | _TEST = { |
56b6faf9 PH |
10 | 'url': 'http://www.traileraddict.com/trailer/prince-avalanche/trailer', |
11 | 'md5': '41365557f3c8c397d091da510e73ceb4', | |
12 | 'info_dict': { | |
13 | 'id': '76184', | |
14 | 'ext': 'mp4', | |
15 | 'title': 'Prince Avalanche Trailer', | |
16 | 'description': 'Trailer for Prince Avalanche.\n\nTwo highway road workers spend the summer of 1988 away from their city lives. The isolated landscape becomes a place of misadventure as the men find themselves at odds with each other and the women they left behind.', | |
887a2279 YK |
17 | } |
18 | } | |
19 | ||
20 | def _real_extract(self, url): | |
5ad28e7f | 21 | mobj = self._match_valid_url(url) |
16484d49 JMF |
22 | name = mobj.group('movie') + '/' + mobj.group('trailer_name') |
23 | webpage = self._download_webpage(url, name) | |
b1ca5e3f | 24 | |
04f3fd2c | 25 | title = self._html_extract_title(webpage, 'video title').replace(' - Trailer Addict', '') |
56b6faf9 PH |
26 | view_count_str = self._search_regex( |
27 | r'<span class="views_n">([0-9,.]+)</span>', | |
28 | webpage, 'view count', fatal=False) | |
29 | view_count = ( | |
30 | None if view_count_str is None | |
31 | else int(view_count_str.replace(',', ''))) | |
32 | video_id = self._search_regex( | |
33 | r'<param\s+name="movie"\s+value="/emb/([0-9]+)"\s*/>', | |
34 | webpage, 'video id') | |
46720279 | 35 | |
b1ca5e3f AVH |
36 | # Presence of (no)watchplus function indicates HD quality is available |
37 | if re.search(r'function (no)?watchplus()', webpage): | |
611c1dd9 | 38 | fvar = 'fvarhd' |
b1ca5e3f | 39 | else: |
611c1dd9 | 40 | fvar = 'fvar' |
b1ca5e3f | 41 | |
611c1dd9 S |
42 | info_url = 'http://www.traileraddict.com/%s.php?tid=%s' % (fvar, str(video_id)) |
43 | info_webpage = self._download_webpage(info_url, video_id, 'Downloading the info webpage') | |
b1ca5e3f | 44 | |
887a2279 | 45 | final_url = self._search_regex(r'&fileurl=(.+)', |
9e1a5b84 | 46 | info_webpage, 'Download url').replace('%3F', '?') |
887a2279 | 47 | thumbnail_url = self._search_regex(r'&image=(.+?)&', |
9e1a5b84 | 48 | info_webpage, 'thumbnail url') |
56b6faf9 PH |
49 | |
50 | description = self._html_search_regex( | |
51 | r'(?s)<div class="synopsis">.*?<div class="movie_label_info"[^>]*>(.*?)</div>', | |
52 | webpage, 'description', fatal=False) | |
53 | ||
54 | return { | |
55 | 'id': video_id, | |
56 | 'url': final_url, | |
57 | 'title': title, | |
58 | 'thumbnail': thumbnail_url, | |
59 | 'description': description, | |
60 | 'view_count': view_count, | |
61 | } |