+ def _extract_video_info(self, guid):
+ path = 'dJ5BDC/media/guid/2198311517/' + guid
+ smil_url = 'http://link.theplatform.com/s/%s?mbr=true' % path
+ formats, subtitles = self._extract_theplatform_smil(smil_url + '&manifest=m3u', guid)
+ for r in ('OnceURL&formats=M3U', 'HLS&formats=M3U', 'RTMP', 'WIFI', '3G'):
+ try:
+ tp_formats, _ = self._extract_theplatform_smil(smil_url + '&assetTypes=' + r, guid, 'Downloading %s SMIL data' % r.split('&')[0])
+ formats.extend(tp_formats)
+ except ExtractorError:
+ continue
+ self._sort_formats(formats)
+ metadata = self._download_theplatform_metadata(path, guid)
+ info = self._parse_theplatform_metadata(metadata)
+ info.update({
+ 'id': guid,
+ 'formats': formats,
+ 'subtitles': subtitles,
+ 'series': metadata.get('cbs$SeriesTitle'),
+ 'season_number': int_or_none(metadata.get('cbs$SeasonNumber')),
+ 'episode': metadata.get('cbs$EpisodeTitle'),
+ 'episode_number': int_or_none(metadata.get('cbs$EpisodeNumber')),
+ })
+ return info
+