]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/motorsport.py 
   2  from  __future__ 
import  unicode_literals
   9  from  . common 
import  InfoExtractor
  17  class  MotorsportIE ( InfoExtractor
):   18      IE_DESC 
=  'motorsport.com'   19      _VALID_URL 
=  r
'http://www\.motorsport\.com/[^/?#]+/video/(?:[^/?#]+/)(?P<id>[^/]+)/(?:$|[?#])'   21          'url' :  'http://www.motorsport.com/f1/video/main-gallery/red-bull-racing-2014-rules-explained/' ,   22          'md5' :  '5592cb7c5005d9b2c163df5ac3dc04e4' ,   26              'title' :  'Red Bull Racing: 2014 Rules Explained' ,   28              'description' :  'A new clip from Red Bull sees Daniel Ricciardo and Sebastian Vettel explain the 2014 Formula One regulations – which are arguably the most complex the sport has ever seen.' ,   29              'uploader' :  'rainiere' ,   30              'thumbnail' :  r
're:^http://.*motorsport\.com/.+\.jpg$'   34      def  _real_extract ( self
,  url
):   35          mobj 
=  re
. match ( self
._ VALID
_U RL
,  url
)   36          display_id 
=  mobj
. group ( 'id' )   38          webpage 
=  self
._ download
_ webpage
( url
,  display_id
)   39          flashvars_code 
=  self
._ html
_ search
_ regex
(   40              r
'<embed id="player".*?flashvars="([^"]+)"' ,  webpage
,  'flashvars' )   41          flashvars 
=  compat_parse_qs ( flashvars_code
)   42          params 
=  json
. loads ( flashvars
[ 'parameters' ][ 0 ])   44          e 
=  compat_str ( int ( time
. time ()) +  24  *  60  *  60 )   45          base_video_url 
=  params
[ 'location' ] +  '?e='  +  e
  47          h 
=  hashlib
. md5 (( s 
+  base_video_url
). encode ( 'utf-8' )). hexdigest ()   48          video_url 
=  base_video_url 
+  '&h='  +  h
  50          uploader 
=  self
._ html
_ search
_ regex
(   51              r
'(?s)<span class="label">Video by: </span>(.*?)</a>' ,  webpage
,   52              'uploader' ,  fatal
= False )   55              'id' :  params
[ 'video_id' ],   56              'display_id' :  display_id
,   57              'title' :  params
[ 'title' ],   59              'description' :  params
. get ( 'description' ),   60              'thumbnail' :  params
. get ( 'main_thumb' ),   61              'duration' :  int_or_none ( params
. get ( 'duration' )),