diff options
Diffstat (limited to 'youtube_dl/extractor/cbs.py')
| -rw-r--r-- | youtube_dl/extractor/cbs.py | 23 | 
1 files changed, 18 insertions, 5 deletions
| diff --git a/youtube_dl/extractor/cbs.py b/youtube_dl/extractor/cbs.py index 1ceb9d8d9..75fffb156 100644 --- a/youtube_dl/extractor/cbs.py +++ b/youtube_dl/extractor/cbs.py @@ -4,12 +4,13 @@ from .common import InfoExtractor  class CBSIE(InfoExtractor): -    _VALID_URL = r'https?://(?:www\.)?cbs\.com/shows/[^/]+/(?:video|artist)/(?P<id>[^/]+)/.*' +    _VALID_URL = r'https?://(?:www\.)?(?:cbs\.com/shows/[^/]+/(?:video|artist)|colbertlateshow\.com/(?:video|podcasts))/[^/]+/(?P<id>[^/]+)'      _TESTS = [{          'url': 'http://www.cbs.com/shows/garth-brooks/video/_u7W953k6la293J7EPTd9oHkSPs6Xn6_/connect-chat-feat-garth-brooks/',          'info_dict': {              'id': '4JUVEwq3wUT7', +            'display_id': 'connect-chat-feat-garth-brooks',              'ext': 'flv',              'title': 'Connect Chat feat. Garth Brooks',              '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!', @@ -24,6 +25,7 @@ class CBSIE(InfoExtractor):          'url': 'http://www.cbs.com/shows/liveonletterman/artist/221752/st-vincent/',          'info_dict': {              'id': 'WWF_5KqY3PK1', +            'display_id': 'st-vincent',              'ext': 'flv',              'title': 'Live on Letterman - St. Vincent',              'description': 'Live On Letterman: St. Vincent in concert from New York\'s Ed Sullivan Theater on Tuesday, July 16, 2014.', @@ -34,12 +36,23 @@ class CBSIE(InfoExtractor):              'skip_download': True,          },          '_skip': 'Blocked outside the US', +    }, { +        'url': 'http://colbertlateshow.com/video/8GmB0oY0McANFvp2aEffk9jZZZ2YyXxy/the-colbeard/', +        'only_matching': True, +    }, { +        'url': 'http://www.colbertlateshow.com/podcasts/dYSwjqPs_X1tvbV_P2FcPWRa_qT6akTC/in-the-bad-room-with-stephen/', +        'only_matching': True,      }]      def _real_extract(self, url): -        video_id = self._match_id(url) -        webpage = self._download_webpage(url, video_id) +        display_id = self._match_id(url) +        webpage = self._download_webpage(url, display_id)          real_id = self._search_regex( -            r"video\.settings\.pid\s*=\s*'([^']+)';", +            [r"video\.settings\.pid\s*=\s*'([^']+)';", r"cbsplayer\.pid\s*=\s*'([^']+)';"],              webpage, 'real video ID') -        return self.url_result('theplatform:%s' % real_id) +        return { +            '_type': 'url_transparent', +            'ie_key': 'ThePlatform', +            'url': 'theplatform:%s' % real_id, +            'display_id': display_id, +        } | 
