aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/embedly.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-08-01 06:53:25 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-08-02 01:08:16 +0530
commitbfd973ece3369c593b5e82a88cc16de80088a73e (patch)
tree6a61140e44f412d16ece6794b5b3e4ead4905b3c /yt_dlp/extractor/embedly.py
parent1e8fe57e5cd0f33f940df87430d75e1230ec5b7a (diff)
downloadhypervideo-pre-bfd973ece3369c593b5e82a88cc16de80088a73e.tar.lz
hypervideo-pre-bfd973ece3369c593b5e82a88cc16de80088a73e.tar.xz
hypervideo-pre-bfd973ece3369c593b5e82a88cc16de80088a73e.zip
[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
Diffstat (limited to 'yt_dlp/extractor/embedly.py')
-rw-r--r--yt_dlp/extractor/embedly.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/yt_dlp/extractor/embedly.py b/yt_dlp/extractor/embedly.py
index a8d1f3c55..483d018bb 100644
--- a/yt_dlp/extractor/embedly.py
+++ b/yt_dlp/extractor/embedly.py
@@ -1,3 +1,5 @@
+import re
+import urllib.parse
from .common import InfoExtractor
from ..compat import compat_urllib_parse_unquote
@@ -9,5 +11,14 @@ class EmbedlyIE(InfoExtractor):
'only_matching': True,
}]
+ @classmethod
+ def _extract_embed_urls(cls, url, webpage):
+ # Bypass suitable check
+ for mobj in re.finditer(r'class=["\']embedly-card["\'][^>]href=["\'](?P<url>[^"\']+)', webpage):
+ yield mobj.group('url')
+
+ for mobj in re.finditer(r'class=["\']embedly-embed["\'][^>]src=["\'][^"\']*url=(?P<url>[^&]+)', webpage):
+ yield urllib.parse.unquote(mobj.group('url'))
+
def _real_extract(self, url):
return self.url_result(compat_urllib_parse_unquote(self._match_id(url)))