youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

normalboots.py (2181B)


      1 # coding: utf-8
      2 from __future__ import unicode_literals
      3 
      4 from .common import InfoExtractor
      5 from .jwplatform import JWPlatformIE
      6 
      7 from ..utils import (
      8     unified_strdate,
      9 )
     10 
     11 
     12 class NormalbootsIE(InfoExtractor):
     13     _VALID_URL = r'https?://(?:www\.)?normalboots\.com/video/(?P<id>[0-9a-z-]*)/?$'
     14     _TEST = {
     15         'url': 'http://normalboots.com/video/home-alone-games-jontron/',
     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',
     23         },
     24         'params': {
     25             # m3u8 download
     26             'skip_download': True,
     27         },
     28         'add_ie': ['JWPlatform'],
     29     }
     30 
     31     def _real_extract(self, url):
     32         video_id = self._match_id(url)
     33         webpage = self._download_webpage(url, video_id)
     34 
     35         video_uploader = self._html_search_regex(
     36             r'Posted\sby\s<a\shref="[A-Za-z0-9/]*">(?P<uploader>[A-Za-z]*)\s</a>',
     37             webpage, 'uploader', fatal=False)
     38         video_upload_date = unified_strdate(self._html_search_regex(
     39             r'<span style="text-transform:uppercase; font-size:inherit;">[A-Za-z]+, (?P<date>.*)</span>',
     40             webpage, 'date', fatal=False))
     41 
     42         jwplatform_url = JWPlatformIE._extract_url(webpage)
     43 
     44         return {
     45             '_type': 'url_transparent',
     46             'id': video_id,
     47             'url': jwplatform_url,
     48             'ie_key': JWPlatformIE.ie_key(),
     49             'title': self._og_search_title(webpage),
     50             'description': self._og_search_description(webpage),
     51             'thumbnail': self._og_search_thumbnail(webpage),
     52             'uploader': video_uploader,
     53             'upload_date': video_upload_date,
     54         }