]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/usanetwork.py
   2 from __future__ 
import unicode_literals
 
   6 from .adobepass 
import AdobePassIE
 
  14 class USANetworkIE(AdobePassIE
): 
  15     _VALID_URL 
= r
'https?://(?:www\.)?usanetwork\.com/(?:[^/]+/videos|movies)/(?P<id>[^/?#]+)' 
  17         'url': 'http://www.usanetwork.com/mrrobot/videos/hpe-cybersecurity', 
  18         'md5': '33c0d2ba381571b414024440d08d57fd', 
  22             'title': 'HPE Cybersecurity', 
  23             'description': 'The more we digitize our world, the more vulnerable we are.', 
  24             'upload_date': '20160818', 
  25             'timestamp': 1471535460, 
  26             'uploader': 'NBCU-USA', 
  30     def _real_extract(self
, url
): 
  31         display_id 
= self
._match
_id
(url
) 
  32         webpage 
= self
._download
_webpage
(url
, display_id
) 
  34         player_params 
= extract_attributes(self
._search
_regex
( 
  35             r
'(<div[^>]+data-usa-tve-player-container[^>]*>)', webpage
, 'player params')) 
  36         video_id 
= player_params
['data-mpx-guid'] 
  37         title 
= player_params
['data-episode-title'] 
  39         account_pid
, path 
= re
.search( 
  40             r
'data-src="(?:https?)?//player\.theplatform\.com/p/([^/]+)/.*?/(media/guid/\d+/\d+)', 
  46         if player_params
.get('data-is-full-episode') == '1': 
  47             query
['manifest'] = 'm3u' 
  49         if player_params
.get('data-entitlement') == 'auth': 
  51             drupal_settings 
= self
._search
_regex
( 
  52                 r
'jQuery\.extend\(Drupal\.settings\s*,\s*({.+?})\);', 
  53                 webpage
, 'drupal settings', fatal
=False) 
  55                 drupal_settings 
= self
._parse
_json
(drupal_settings
, video_id
, fatal
=False) 
  57                     adobe_pass 
= drupal_settings
.get('adobePass', {}) 
  58             resource 
= self
._get
_mvpd
_resource
( 
  59                 adobe_pass
.get('adobePassResourceId', 'usa'), 
  60                 title
, video_id
, player_params
.get('data-episode-rating', 'TV-14')) 
  61             query
['auth'] = self
._extract
_mvpd
_auth
( 
  62                 url
, video_id
, adobe_pass
.get('adobePassRequestorId', 'usa'), resource
) 
  64         info 
= self
._search
_json
_ld
(webpage
, video_id
, default
={}) 
  66             '_type': 'url_transparent', 
  67             'url': smuggle_url(update_url_query( 
  68                 'http://link.theplatform.com/s/%s/%s' % (account_pid
, path
), 
  69                 query
), {'force_smil_url': True}), 
  72             'series': player_params
.get('data-show-title'), 
  74             'ie_key': 'ThePlatform',