]>
Commit | Line | Data |
---|---|---|
92661c99 JMF |
1 | # encoding: utf-8 |
2 | from __future__ import unicode_literals | |
3 | ||
c81a855b OP |
4 | from .common import InfoExtractor |
5 | ||
6 | from ..utils import ( | |
c81a855b OP |
7 | unified_strdate, |
8 | ) | |
9 | ||
92661c99 | 10 | |
c81a855b | 11 | class NormalbootsIE(InfoExtractor): |
53157257 | 12 | _VALID_URL = r'http://(?:www\.)?normalboots\.com/video/(?P<id>[0-9a-z-]*)/?$' |
3bf8bc7f | 13 | _TEST = { |
92661c99 JMF |
14 | 'url': 'http://normalboots.com/video/home-alone-games-jontron/', |
15 | 'md5': '8bf6de238915dd501105b44ef5f1e0f6', | |
16 | 'info_dict': { | |
17 | 'id': 'home-alone-games-jontron', | |
18 | 'ext': 'mp4', | |
19 | 'title': 'Home Alone Games - JonTron - NormalBoots', | |
20 | 'description': 'Jon is late for Christmas. Typical. Thanks to: Paul Ritchey for Co-Writing/Filming: http://www.youtube.com/user/ContinueShow Michael Azzi for Christmas Intro Animation: http://michafrar.tumblr.com/ Jerrod Waters for Christmas Intro Music: http://www.youtube.com/user/xXJerryTerryXx Casey Ormond for ‘Tense Battle Theme’:\xa0http://www.youtube.com/Kiamet/', | |
21 | 'uploader': 'JonTron', | |
22 | 'upload_date': '20140125', | |
a285b637 JMF |
23 | }, |
24 | 'params': { | |
25 | # rtmp download | |
26 | 'skip_download': True, | |
27 | }, | |
3bf8bc7f | 28 | } |
92661c99 | 29 | |
c81a855b | 30 | def _real_extract(self, url): |
53157257 | 31 | video_id = self._match_id(url) |
c81a855b | 32 | webpage = self._download_webpage(url, video_id) |
92661c99 | 33 | |
53157257 PH |
34 | video_uploader = self._html_search_regex( |
35 | r'Posted\sby\s<a\shref="[A-Za-z0-9/]*">(?P<uploader>[A-Za-z]*)\s</a>', | |
36 | webpage, 'uploader', fatal=False) | |
37 | video_upload_date = unified_strdate(self._html_search_regex( | |
38 | r'<span style="text-transform:uppercase; font-size:inherit;">[A-Za-z]+, (?P<date>.*)</span>', | |
39 | webpage, 'date', fatal=False)) | |
40 | ||
41 | player_url = self._html_search_regex( | |
42 | r'<iframe\swidth="[0-9]+"\sheight="[0-9]+"\ssrc="(?P<url>[\S]+)"', | |
43 | webpage, 'player url') | |
c81a855b | 44 | player_page = self._download_webpage(player_url, video_id) |
53157257 PH |
45 | video_url = self._html_search_regex( |
46 | r"file:\s'(?P<file>[^']+\.mp4)'", player_page, 'file') | |
92661c99 JMF |
47 | |
48 | return { | |
49 | 'id': video_id, | |
50 | 'url': video_url, | |
51 | 'title': self._og_search_title(webpage), | |
52 | 'description': self._og_search_description(webpage), | |
53 | 'thumbnail': self._og_search_thumbnail(webpage), | |
54 | 'uploader': video_uploader, | |
55 | 'upload_date': video_upload_date, | |
56 | } |