mirror of
https://github.com/yt-dlp/yt-dlp
synced 2025-07-03 20:42:53 -05: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:
@ -1,11 +1,8 @@
|
||||
import re
|
||||
|
||||
from .common import InfoExtractor
|
||||
from ..utils import (
|
||||
determine_ext,
|
||||
get_elements_text_and_html_by_attribute,
|
||||
scale_thumbnails_to_max_format_width,
|
||||
unescapeHTML,
|
||||
)
|
||||
|
||||
|
||||
@ -98,7 +95,7 @@ class TVOpenGrEmbedIE(TVOpenGrBaseIE):
|
||||
IE_NAME = 'tvopengr:embed'
|
||||
IE_DESC = 'tvopen.gr embedded videos'
|
||||
_VALID_URL = r'(?:https?:)?//(?:www\.|cdn\.|)(?:tvopen|ethnos).gr/embed/(?P<id>\d+)'
|
||||
_EMBED_RE = re.compile(rf'''<iframe[^>]+?src=(?P<_q1>["'])(?P<url>{_VALID_URL})(?P=_q1)''')
|
||||
_EMBED_REGEX = [rf'''<iframe[^>]+?src=(?P<_q1>["'])(?P<url>{_VALID_URL})(?P=_q1)''']
|
||||
|
||||
_TESTS = [{
|
||||
'url': 'https://cdn.ethnos.gr/embed/100963',
|
||||
@ -115,11 +112,6 @@ class TVOpenGrEmbedIE(TVOpenGrBaseIE):
|
||||
},
|
||||
}]
|
||||
|
||||
@classmethod
|
||||
def _extract_urls(cls, webpage):
|
||||
for mobj in cls._EMBED_RE.finditer(webpage):
|
||||
yield unescapeHTML(mobj.group('url'))
|
||||
|
||||
def _real_extract(self, url):
|
||||
video_id = self._match_id(url)
|
||||
return self._return_canonical_url(url, video_id)
|
||||
|
Reference in New Issue
Block a user