]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/cbs.py
1 from __future__
import unicode_literals
3 from . theplatform
import ThePlatformFeedIE
10 class CBSBaseIE ( ThePlatformFeedIE
):
11 def _parse_smil_subtitles ( self
, smil
, namespace
= None , subtitles_lang
= 'en' ):
12 closed_caption_e
= find_xpath_attr ( smil
, self
._ xpath
_ ns
( './/param' , namespace
), 'name' , 'ClosedCaptionURL' )
16 'url' : closed_caption_e
. attrib
[ 'value' ],
18 } if closed_caption_e
is not None and closed_caption_e
. attrib
. get ( 'value' ) else []
20 def _extract_video_info ( self
, filter_query
, video_id
):
21 return self
._ extract
_ feed
_ info
(
22 'dJ5BDC' , 'VxxJg8Ymh8sE' , filter_query
, video_id
, lambda entry
: {
23 'series' : entry
. get ( 'cbs$SeriesTitle' ),
24 'season_number' : int_or_none ( entry
. get ( 'cbs$SeasonNumber' )),
25 'episode' : entry
. get ( 'cbs$EpisodeTitle' ),
26 'episode_number' : int_or_none ( entry
. get ( 'cbs$EpisodeNumber' )),
34 class CBSIE ( CBSBaseIE
):
35 _VALID_URL
= r
'(?:cbs:|https?://(?:www\.)?(?:cbs\.com/shows/[^/]+/video|colbertlateshow\.com/(?:video|podcasts))/)(?P<id>[\w-]+)'
38 'url' : 'http://www.cbs.com/shows/garth-brooks/video/_u7W953k6la293J7EPTd9oHkSPs6Xn6_/connect-chat-feat-garth-brooks/' ,
40 'id' : '_u7W953k6la293J7EPTd9oHkSPs6Xn6_' ,
41 'display_id' : 'connect-chat-feat-garth-brooks' ,
43 'title' : 'Connect Chat feat. Garth Brooks' ,
44 'description' : 'Connect with country music singer Garth Brooks, as he chats with fans on Wednesday November 27, 2013. Be sure to tune in to Garth Brooks: Live from Las Vegas, Friday November 29, at 9/8c on CBS!' ,
46 'timestamp' : 1385585425 ,
47 'upload_date' : '20131127' ,
48 'uploader' : 'CBSI-NEW' ,
50 'expected_warnings' : [ 'Failed to download m3u8 information' ],
51 '_skip' : 'Blocked outside the US' ,
53 'url' : 'http://colbertlateshow.com/video/8GmB0oY0McANFvp2aEffk9jZZZ2YyXxy/the-colbeard/' ,
54 'only_matching' : True ,
56 'url' : 'http://www.colbertlateshow.com/podcasts/dYSwjqPs_X1tvbV_P2FcPWRa_qT6akTC/in-the-bad-room-with-stephen/' ,
57 'only_matching' : True ,
59 TP_RELEASE_URL_TEMPLATE
= 'http://link.theplatform.com/s/dJ5BDC/ %s ?mbr=true'
61 def _real_extract ( self
, url
):
62 content_id
= self
._ match
_ id
( url
)
63 return self
._ extract
_ video
_ info
( 'byGuid= %s ' % content_id
, content_id
)