]>
Commit | Line | Data |
---|---|---|
3c50b99a PH |
1 | from __future__ import unicode_literals |
2 | ||
ab19b46b S |
3 | from ..utils import str_to_int |
4 | from .keezmovies import KeezMoviesIE | |
32a35e44 | 5 | |
32a35e44 | 6 | |
ab19b46b | 7 | class ExtremeTubeIE(KeezMoviesIE): |
b505e987 | 8 | _VALID_URL = r'https?://(?:www\.)?extremetube\.com/(?:[^/]+/)?video/(?P<id>[^/#?&]+)' |
52fadd5f | 9 | _TESTS = [{ |
3c50b99a | 10 | 'url': 'http://www.extremetube.com/video/music-video-14-british-euro-brit-european-cumshots-swallow-652431', |
d3179732 | 11 | 'md5': '92feaafa4b58e82f261e5419f39c60cb', |
3c50b99a | 12 | 'info_dict': { |
b505e987 | 13 | 'id': 'music-video-14-british-euro-brit-european-cumshots-swallow-652431', |
3c50b99a PH |
14 | 'ext': 'mp4', |
15 | 'title': 'Music Video 14 british euro brit european cumshots swallow', | |
d3179732 | 16 | 'uploader': 'anonim', |
2f9e8776 | 17 | 'view_count': int, |
3c50b99a | 18 | 'age_limit': 18, |
32a35e44 | 19 | } |
52fadd5f PH |
20 | }, { |
21 | 'url': 'http://www.extremetube.com/gay/video/abcde-1234', | |
22 | 'only_matching': True, | |
cc8034cc S |
23 | }, { |
24 | 'url': 'http://www.extremetube.com/video/latina-slut-fucked-by-fat-black-dick', | |
25 | 'only_matching': True, | |
26 | }, { | |
27 | 'url': 'http://www.extremetube.com/video/652431', | |
28 | 'only_matching': True, | |
52fadd5f | 29 | }] |
32a35e44 | 30 | |
31 | def _real_extract(self, url): | |
ab19b46b | 32 | webpage, info = self._extract_info(url) |
32a35e44 | 33 | |
ab19b46b S |
34 | if not info['title']: |
35 | info['title'] = self._search_regex( | |
36 | r'<h1[^>]+title="([^"]+)"[^>]*>', webpage, 'title') | |
32a35e44 | 37 | |
3c50b99a | 38 | uploader = self._html_search_regex( |
d3179732 | 39 | r'Uploaded by:\s*</[^>]+>\s*<a[^>]+>(.+?)</a>', |
2f9e8776 | 40 | webpage, 'uploader', fatal=False) |
ab19b46b | 41 | view_count = str_to_int(self._search_regex( |
d3179732 | 42 | r'Views:\s*</[^>]+>\s*<[^>]+>([\d,\.]+)</', |
2f9e8776 S |
43 | webpage, 'view count', fatal=False)) |
44 | ||
ab19b46b | 45 | info.update({ |
32a35e44 | 46 | 'uploader': uploader, |
2f9e8776 | 47 | 'view_count': view_count, |
ab19b46b S |
48 | }) |
49 | ||
50 | return info |