diff options
| -rw-r--r-- | youtube_dl/extractor/cwtv.py | 36 | 
1 files changed, 26 insertions, 10 deletions
| diff --git a/youtube_dl/extractor/cwtv.py b/youtube_dl/extractor/cwtv.py index c66c359cf..1ab9333b2 100644 --- a/youtube_dl/extractor/cwtv.py +++ b/youtube_dl/extractor/cwtv.py @@ -28,7 +28,8 @@ class CWTVIE(InfoExtractor):          'params': {              # m3u8 download              'skip_download': True, -        } +        }, +        'skip': 'redirect to http://cwtv.com/shows/arrow/',      }, {          'url': 'http://www.cwseed.com/shows/whose-line-is-it-anyway/jeff-davis-4/?play=24282b12-ead2-42f2-95ad-26770c2c6088',          'info_dict': { @@ -44,10 +45,6 @@ class CWTVIE(InfoExtractor):              'upload_date': '20151006',              'timestamp': 1444107300,          }, -        'params': { -            # m3u8 download -            'skip_download': True, -        }      }, {          'url': 'http://cwtv.com/thecw/chroniclesofcisco/?play=8adebe35-f447-465f-ab52-e863506ff6d6',          'only_matching': True, @@ -61,11 +58,30 @@ class CWTVIE(InfoExtractor):      def _real_extract(self, url):          video_id = self._match_id(url) -        video_data = self._download_json( -            'http://metaframe.digitalsmiths.tv/v2/CWtv/assets/%s/partner/132?format=json' % video_id, video_id) - -        formats = self._extract_m3u8_formats( -            video_data['videos']['variantplaylist']['uri'], video_id, 'mp4') +        video_data = None +        formats = [] +        for partner in (154, 213): +            vdata = self._download_json( +                'http://metaframe.digitalsmiths.tv/v2/CWtv/assets/%s/partner/%d?format=json' % (video_id, partner), video_id, fatal=False) +            if not vdata: +                continue +            video_data = vdata +            for quality, quality_data in vdata.get('videos', {}).items(): +                quality_url = quality_data.get('uri') +                if not quality_url: +                    continue +                if quality == 'variantplaylist': +                    formats.extend(self._extract_m3u8_formats( +                        quality_url, video_id, 'mp4', m3u8_id='hls', fatal=False)) +                else: +                    tbr = int_or_none(quality_data.get('bitrate')) +                    format_id = 'http' + ('-%d' % tbr if tbr else '') +                    if self._is_valid_url(quality_url, video_id, format_id): +                        formats.append({ +                            'format_id': format_id, +                            'url': quality_url, +                            'tbr': tbr, +                        })          self._sort_formats(formats)          thumbnails = [{ | 
