]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/wat.py 
a584e08966ac57354c51a71d7fee520d7ce67df8
   2  from  __future__ 
import  unicode_literals
   6  from  . common 
import  InfoExtractor
  12  class  WatIE ( InfoExtractor
):   13      _VALID_URL 
=  r
'http://www\.wat\.tv/.*-(?P<shortID>.*?)_.*?\.html'   16          'url' :  'http://www.wat.tv/video/world-war-philadelphia-vost-6bv55_2fjr7_.html' ,   20              'title' :  'World War Z - Philadelphia VOST' ,   21              'description' :  'La menace est partout. Que se passe-t-il à Philadelphia ? \r\n WORLD WAR Z, avec Brad Pitt, au cinéma le 3 juillet. \r\n http://www.worldwarz.fr' ,   24              # Sometimes wat serves the whole file with the --test option   25              'skip_download' :  True ,   29      def  download_video_info ( self
,  real_id
):   30          # 'contentv4' is used in the website, but it also returns the related   31          # videos, we don't need them   32          info 
=  self
._ download
_ json
( 'http://www.wat.tv/interface/contentv3/'  +  real_id
,  real_id
)   35      def  _real_extract ( self
,  url
):   36          def  real_id_for_chapter ( chapter
):   37              return  chapter
[ 'tc_start' ]. split ( '-' )[ 0 ]   38          mobj 
=  re
. match ( self
._ VALID
_U RL
,  url
)   39          short_id 
=  mobj
. group ( 'shortID' )   40          webpage 
=  self
._ download
_ webpage
( url
,  short_id
)   41          real_id 
=  self
._ search
_ regex
( r
'xtpage = ".*-(.*?)";' ,  webpage
,  'real id' )   43          video_info 
=  self
. download_video_info ( real_id
)   44          chapters 
=  video_info
[ 'chapters' ]   45          first_chapter 
=  chapters
[ 0 ]   47          if  real_id_for_chapter ( first_chapter
) !=  real_id
:   48              self
. to_screen ( 'Multipart video detected' )   50              for  chapter 
in  chapters
:   51                  chapter_id 
=  real_id_for_chapter ( chapter
)   52                  # Yes, when we this chapter is processed by WatIE,   53                  # it will download the info again   54                  chapter_info 
=  self
. download_video_info ( chapter_id
)   55                  chapter_urls
. append ( chapter_info
[ 'url' ])   56              entries 
= [ self
. url_result ( chapter_url
)  for  chapter_url 
in  chapter_urls
]   57              return  self
. playlist_result ( entries
,  real_id
,  video_info
[ 'title' ])   60          if  'date_diffusion'  in  first_chapter
:   61              upload_date 
=  unified_strdate ( first_chapter
[ 'date_diffusion' ])   62          # Otherwise we can continue and extract just one part, we have to use   63          # the short id for getting the video url   66              'url' :  'http://wat.tv/get/android5/ %s .mp4'  %  real_id
,   67              'title' :  first_chapter
[ 'title' ],   68              'thumbnail' :  first_chapter
[ 'preview' ],   69              'description' :  first_chapter
[ 'description' ],   70              'view_count' :  video_info
[ 'views' ],   71              'upload_date' :  upload_date
,