mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[extractors] Use new framework for existing embeds (#4307)
`Brightcove` is difficult to migrate because it's subclasses may depend on the signature of the current functions. So it is left as-is for now Note: Tests have not been migrated
This commit is contained in:
		| @@ -13,7 +13,7 @@ from ..utils import ( | ||||
|     str_or_none, | ||||
|     try_call, | ||||
|     try_get, | ||||
|     unescapeHTML, | ||||
|     smuggle_url, | ||||
|     unsmuggle_url, | ||||
|     url_or_none, | ||||
|     urljoin, | ||||
| @@ -25,6 +25,7 @@ _ID_RE = r'(?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0 | ||||
| 
 | ||||
| class MediasiteIE(InfoExtractor): | ||||
|     _VALID_URL = r'(?xi)https?://[^/]+/Mediasite/(?:Play|Showcase/[^/#?]+/Presentation)/(?P<id>%s)(?P<query>\?[^#]+|)' % _ID_RE | ||||
|     _EMBED_REGEX = [r'(?xi)<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:(?:https?:)?//[^/]+)?/Mediasite/Play/%s(?:\?.*?)?)\1' % _ID_RE] | ||||
|     _TESTS = [ | ||||
|         { | ||||
|             'url': 'https://hitsmediaweb.h-its.org/mediasite/Play/2db6c271681e4f199af3c60d1f82869b1d', | ||||
| @@ -112,13 +113,10 @@ class MediasiteIE(InfoExtractor): | ||||
|         5: 'video3', | ||||
|     } | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def _extract_urls(webpage): | ||||
|         return [ | ||||
|             unescapeHTML(mobj.group('url')) | ||||
|             for mobj in re.finditer( | ||||
|                 r'(?xi)<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:(?:https?:)?//[^/]+)?/Mediasite/Play/%s(?:\?.*?)?)\1' % _ID_RE, | ||||
|                 webpage)] | ||||
|     @classmethod | ||||
|     def _extract_embed_urls(cls, url, webpage): | ||||
|         for embed_url in super()._extract_embed_urls(url, webpage): | ||||
|             yield smuggle_url(embed_url, {'UrlReferrer': url}) | ||||
| 
 | ||||
|     def __extract_slides(self, *, stream_id, snum, Stream, duration, images): | ||||
|         slide_base_url = Stream['SlideBaseUrl'] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan