]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/tubitv.py
   2 from __future__ 
import unicode_literals
 
   7 from .common 
import InfoExtractor
 
   8 from ..compat 
import compat_urllib_parse
 
  16 class TubiTvIE(InfoExtractor
): 
  17     _VALID_URL 
= r
'https?://(?:www\.)?tubitv\.com/video\?id=(?P<id>[0-9]+)' 
  18     _LOGIN_URL 
= 'http://tubitv.com/login' 
  19     _NETRC_MACHINE 
= 'tubitv' 
  21         'url': 'http://tubitv.com/video?id=54411&title=The_Kitchen_Musical_-_EP01', 
  25             'title': 'The Kitchen Musical - EP01', 
  26             'thumbnail': 're:^https?://.*\.png$', 
  27             'description': 'md5:37532716166069b353e8866e71fefae7', 
  31             'skip_download': 'HLS download', 
  36         (username
, password
) = self
._get
_login
_info
() 
  44         payload 
= compat_urllib_parse
.urlencode(form_data
).encode('utf-8') 
  45         request 
= sanitized_Request(self
._LOGIN
_URL
, payload
) 
  46         request
.add_header('Content-Type', 'application/x-www-form-urlencoded') 
  47         login_page 
= self
._download
_webpage
( 
  48             request
, None, False, 'Wrong login info') 
  49         if not re
.search(r
'id="tubi-logout"', login_page
): 
  51                 'Login failed (invalid username/password)', expected
=True) 
  53     def _real_initialize(self
): 
  56     def _real_extract(self
, url
): 
  57         video_id 
= self
._match
_id
(url
) 
  59         webpage 
= self
._download
_webpage
(url
, video_id
) 
  60         if re
.search(r
"<(?:DIV|div) class='login-required-screen'>", webpage
): 
  61             self
.raise_login_required('This video requires login') 
  63         title 
= self
._og
_search
_title
(webpage
) 
  64         description 
= self
._og
_search
_description
(webpage
) 
  65         thumbnail 
= self
._og
_search
_thumbnail
(webpage
) 
  66         duration 
= int_or_none(self
._html
_search
_meta
( 
  67             'video:duration', webpage
, 'duration')) 
  69         apu 
= self
._search
_regex
(r
"apu='([^']+)'", webpage
, 'apu') 
  70         m3u8_url 
= codecs
.decode(apu
, 'rot_13')[::-1] 
  71         formats 
= self
._extract
_m
3u8_formats
(m3u8_url
, video_id
, ext
='mp4') 
  77             'thumbnail': thumbnail
, 
  78             'description': description
,