mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[theplatform] always force theplatform to return a smil for _extract_theplatform_smil
This commit is contained in:
		| @@ -24,5 +24,5 @@ class BravoTVIE(InfoExtractor): | ||||
|         account_pid = self._search_regex(r'"account_pid"\s*:\s*"([^"]+)"', webpage, 'account pid') | ||||
|         release_pid = self._search_regex(r'"release_pid"\s*:\s*"([^"]+)"', webpage, 'release pid') | ||||
|         return self.url_result(smuggle_url( | ||||
|             'http://link.theplatform.com/s/%s/%s?format=SMIL&mbr=true&switch=progressive' % (account_pid, release_pid), | ||||
|             'http://link.theplatform.com/s/%s/%s?mbr=true&switch=progressive' % (account_pid, release_pid), | ||||
|             {'force_smil_url': True}), 'ThePlatform', release_pid) | ||||
|   | ||||
| @@ -78,7 +78,7 @@ class CBSNewsIE(ThePlatformIE): | ||||
|             pid = item.get('media' + format_id) | ||||
|             if not pid: | ||||
|                 continue | ||||
|             release_url = 'http://link.theplatform.com/s/dJ5BDC/%s?format=SMIL&mbr=true' % pid | ||||
|             release_url = 'http://link.theplatform.com/s/dJ5BDC/%s?mbr=true' % pid | ||||
|             tp_formats, tp_subtitles = self._extract_theplatform_smil(release_url, video_id, 'Downloading %s SMIL data' % pid) | ||||
|             formats.extend(tp_formats) | ||||
|             subtitles = self._merge_subtitles(subtitles, tp_subtitles) | ||||
|   | ||||
| @@ -60,7 +60,7 @@ class CNETIE(ThePlatformIE): | ||||
|         for (fkey, vid) in vdata['files'].items(): | ||||
|             if fkey == 'hls_phone' and 'hls_tablet' in vdata['files']: | ||||
|                 continue | ||||
|             release_url = 'http://link.theplatform.com/s/kYEXFC/%s?format=SMIL&mbr=true' % vid | ||||
|             release_url = 'http://link.theplatform.com/s/kYEXFC/%s?mbr=true' % vid | ||||
|             if fkey == 'hds': | ||||
|                 release_url += '&manifest=f4m' | ||||
|             tp_formats, tp_subtitles = self._extract_theplatform_smil(release_url, video_id, 'Downloading %s SMIL data' % fkey) | ||||
|   | ||||
| @@ -48,7 +48,7 @@ class NationalGeographicIE(InfoExtractor): | ||||
|         theplatform_id = url_basename(content.attrib.get('url')) | ||||
|  | ||||
|         return self.url_result(smuggle_url( | ||||
|             'http://link.theplatform.com/s/ngs/%s?format=SMIL&formats=MPEG4&manifest=f4m' % theplatform_id, | ||||
|             'http://link.theplatform.com/s/ngs/%s?formats=MPEG4&manifest=f4m' % theplatform_id, | ||||
|             # For some reason, the normal links don't work and we must force | ||||
|             # the use of f4m | ||||
|             {'force_smil_url': True})) | ||||
|   | ||||
| @@ -22,6 +22,7 @@ from ..utils import ( | ||||
|     xpath_with_ns, | ||||
|     mimetype2ext, | ||||
|     find_xpath_attr, | ||||
|     update_url_query, | ||||
| ) | ||||
|  | ||||
| default_ns = 'http://www.w3.org/2005/SMIL21/Language' | ||||
| @@ -30,6 +31,7 @@ _x = lambda p: xpath_with_ns(p, {'smil': default_ns}) | ||||
|  | ||||
| class ThePlatformBaseIE(OnceIE): | ||||
|     def _extract_theplatform_smil(self, smil_url, video_id, note='Downloading SMIL data'): | ||||
|         smil_url = update_url_query(smil_url, {'format': 'SMIL'}) | ||||
|         meta = self._download_xml(smil_url, video_id, note=note) | ||||
|         error_element = find_xpath_attr( | ||||
|             meta, _x('.//smil:ref'), 'src', | ||||
| @@ -213,7 +215,7 @@ class ThePlatformIE(ThePlatformBaseIE): | ||||
|                 webpage, 'smil url', group='url') | ||||
|             path = self._search_regex( | ||||
|                 r'link\.theplatform\.com/s/((?:[^/?#&]+/)+[^/?#&]+)', smil_url, 'path') | ||||
|             smil_url += '?' if '?' not in smil_url else '&' + 'formats=m3u,mpeg4&format=SMIL' | ||||
|             smil_url += '?' if '?' not in smil_url else '&' + 'formats=m3u,mpeg4' | ||||
|         elif mobj.group('config'): | ||||
|             config_url = url + '&form=json' | ||||
|             config_url = config_url.replace('swf/', 'config/') | ||||
| @@ -223,9 +225,9 @@ class ThePlatformIE(ThePlatformBaseIE): | ||||
|                 release_url = config['releaseUrl'] | ||||
|             else: | ||||
|                 release_url = 'http://link.theplatform.com/s/%s?mbr=true' % path | ||||
|             smil_url = release_url + '&format=SMIL&formats=MPEG4&manifest=f4m' | ||||
|             smil_url = release_url + '&formats=MPEG4&manifest=f4m' | ||||
|         else: | ||||
|             smil_url = 'http://link.theplatform.com/s/%s/meta.smil?format=smil&mbr=true' % path | ||||
|             smil_url = 'http://link.theplatform.com/s/%s?mbr=true' % path | ||||
|  | ||||
|         sig = smuggled_data.get('sig') | ||||
|         if sig: | ||||
| @@ -280,7 +282,7 @@ class ThePlatformFeedIE(ThePlatformBaseIE): | ||||
|         first_video_id = None | ||||
|         duration = None | ||||
|         for item in entry['media$content']: | ||||
|             smil_url = item['plfile$url'] + '&format=SMIL&mbr=true' | ||||
|             smil_url = item['plfile$url'] + '&mbr=true' | ||||
|             cur_video_id = ThePlatformIE._match_id(smil_url) | ||||
|             if first_video_id is None: | ||||
|                 first_video_id = cur_video_id | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 remitamine
					remitamine