]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/huffpost.py 
   1  from  __future__ 
import  unicode_literals
   5  from  . common 
import  InfoExtractor
  12  class  HuffPostIE ( InfoExtractor
):   13      IE_DESC 
=  'Huffington Post'   15          https?://(embed\.)?live\.huffingtonpost\.com/   18              HPLEmbedPlayer/\?segmentId=   23          'url' :  'http://live.huffingtonpost.com/r/segment/legalese-it/52dd3e4b02a7602131000677' ,   24          'md5' :  '55f5e8981c1c80a64706a44b74833de8' ,   26              'id' :  '52dd3e4b02a7602131000677' ,   28              'title' :  'Legalese It! with @MikeSacksHP' ,   29              'description' :  'This week on Legalese It, Mike talks to David Bosco about his new book on the ICC, "Rough Justice," he also discusses the Virginia AG \' s historic stance on gay marriage, the execution of Edgar Tamayo, the ICC \' s delay of Kenya \' s President and more.  ' ,   31              'upload_date' :  '20140124' ,   35      def  _real_extract ( self
,  url
):   36          video_id 
=  self
._ match
_ id
( url
)   38          api_url 
=  'http://embed.live.huffingtonpost.com/api/segments/ %s .json'  %  video_id
  39          data 
=  self
._ download
_ json
( api_url
,  video_id
)[ 'data' ]   41          video_title 
=  data
[ 'title' ]   42          duration 
=  parse_duration ( data
. get ( 'running_time' ))   43          upload_date 
=  unified_strdate (   44              data
. get ( 'schedule' , {}). get ( 'starts_at' )  or  data
. get ( 'segment_start_date_time' ))   45          description 
=  data
. get ( 'description' )   48          for  url 
in  data
[ 'images' ]. values ():   49              m 
=  re
. match ( '.*-([0-9]+x[0-9]+)\.' ,  url
)   54                  'resolution' :  m
. group ( 1 ),   59              'format_id' :  key
. replace ( '/' ,  '.' ),   62              'vcodec' :  'none'  if  key
. startswith ( 'audio/' )  else None ,   63          }  for  key
,  url 
in  data
. get ( 'sources' , {}). get ( 'live' , {}). items ()]   65          if not  formats 
and  data
. get ( 'fivemin_id' ):   66              return  self
. url_result ( '5min: %s '  %  data
[ 'fivemin_id' ])   68          self
._ sort
_ formats
( formats
)   73              'description' :  description
,   76              'upload_date' :  upload_date
,   77              'thumbnails' :  thumbnails
,