mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-12-15 19:16:46 +01: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:
parent
1e8fe57e5c
commit
bfd973ece3
138 changed files with 499 additions and 1909 deletions
|
|
@ -215,6 +215,7 @@ class TedPlaylistIE(TedBaseIE):
|
|||
|
||||
class TedEmbedIE(InfoExtractor):
|
||||
_VALID_URL = r'https?://embed(?:-ssl)?\.ted\.com/'
|
||||
_EMBED_REGEX = [rf'<iframe[^>]+?src=(["\'])(?P<url>{_VALID_URL}.+?)\1']
|
||||
|
||||
_TESTS = [{
|
||||
'url': 'https://embed.ted.com/talks/janet_stovall_how_to_get_serious_about_diversity_and_inclusion_in_the_workplace',
|
||||
|
|
@ -233,10 +234,5 @@ class TedEmbedIE(InfoExtractor):
|
|||
},
|
||||
}]
|
||||
|
||||
@classmethod
|
||||
def _extract_urls(cls, webpage):
|
||||
return [mobj.group('url') for mobj in re.finditer(
|
||||
fr'<iframe[^>]+?src=(["\'])(?P<url>{cls._VALID_URL}.+?)\1', webpage)]
|
||||
|
||||
def _real_extract(self, url):
|
||||
return self.url_result(re.sub(r'://embed(-ssl)?', '://www', url), TedTalkIE.ie_key())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue