]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/scrippsnetworks.py 
   2  from  __future__ 
import  unicode_literals
   4  from  . adobepass 
import  AdobePassIE
  12  class  ScrippsNetworksWatchIE ( AdobePassIE
):   13      IE_NAME 
=  'scrippsnetworks:watch'   14      _VALID_URL 
=  r
'https?://watch\.(?:hgtv|foodnetwork|travelchannel|diynetwork|cookingchanneltv)\.com/player\.[A-Z0-9]+\.html#(?P<id>\d+)'   16          'url' :  'http://watch.hgtv.com/player.HNT.html#0256538' ,   17          'md5' :  '26545fd676d939954c6808274bdb905a' ,   21              'title' :  'Seeking a Wow House' ,   22              'description' :  'Buyers retiring in Palm Springs, California, want a modern house with major wow factor. They \' re also looking for a pool and a large, open floorplan with tall windows looking out at the views.' ,   24              'upload_date' :  '20170207' ,   25              'timestamp' :  1486450493 ,   27          'skip' :  'requires TV provider authentication' ,   30      def  _real_extract ( self
,  url
):   31          video_id 
=  self
._ match
_ id
( url
)   32          webpage 
=  self
._ download
_ webpage
( url
,  video_id
)   33          channel 
=  self
._ parse
_ json
( self
._ search
_ regex
(   34              r
'"channels"\s*:\s*(\[.+\])' ,   35              webpage
,  'channels' ),  video_id
)[ 0 ]   36          video_data 
=  next ( v 
for  v 
in  channel
[ 'videos' ]  if  v
. get ( 'nlvid' ) ==  video_id
)   37          title 
=  video_data
[ 'title' ]   38          release_url 
=  video_data
[ 'releaseUrl' ]   39          if  video_data
. get ( 'restricted' ):   40              requestor_id 
=  self
._ search
_ regex
(   41                  r
'requestorId\s*=\s*"([^"]+)";' ,  webpage
,  'requestor id' )   42              resource 
=  self
._ get
_ mvpd
_ resource
(   43                  requestor_id
,  title
,  video_id
,   44                  video_data
. get ( 'ratings' , [{}])[ 0 ]. get ( 'rating' ))   45              auth 
=  self
._ extract
_ mvpd
_ auth
(   46                  url
,  video_id
,  requestor_id
,  resource
)   47              release_url 
=  update_url_query ( release_url
, { 'auth' :  auth
})   50              '_type' :  'url_transparent' ,   53              'url' :  smuggle_url ( release_url
, { 'force_smil_url' :  True }),   54              'description' :  video_data
. get ( 'description' ),   55              'thumbnail' :  video_data
. get ( 'thumbnailUrl' ),   56              'series' :  video_data
. get ( 'showTitle' ),   57              'season_number' :  int_or_none ( video_data
. get ( 'season' )),   58              'episode_number' :  int_or_none ( video_data
. get ( 'episodeNumber' )),   59              'ie_key' :  'ThePlatform' ,