Browse Source

[jwplatform] Add support for multiple embeds (closes #15192)

master-ytdl-org
Sergey M․ 7 years ago
parent
commit
b0ead0e09a
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
2 changed files with 10 additions and 7 deletions
  1. +3
    -3
      youtube_dl/extractor/generic.py
  2. +7
    -4
      youtube_dl/extractor/jwplatform.py

+ 3
- 3
youtube_dl/extractor/generic.py View File

@ -2708,9 +2708,9 @@ class GenericIE(InfoExtractor):
return self.url_result(viewlift_url)
# Look for JWPlatform embeds
jwplatform_url = JWPlatformIE._extract_url(webpage)
if jwplatform_url:
return self.url_result(jwplatform_url, 'JWPlatform')
jwplatform_urls = JWPlatformIE._extract_urls(webpage)
if jwplatform_urls:
return self.playlist_from_matches(jwplatform_urls, video_id, video_title, ie=JWPlatformIE.ie_key())
# Look for Digiteka embeds
digiteka_url = DigitekaIE._extract_url(webpage)


+ 7
- 4
youtube_dl/extractor/jwplatform.py View File

@ -23,11 +23,14 @@ class JWPlatformIE(InfoExtractor):
@staticmethod
def _extract_url(webpage):
mobj = re.search(
r'<(?:script|iframe)[^>]+?src=["\'](?P<url>(?:https?:)?//content.jwplatform.com/players/[a-zA-Z0-9]{8})',
urls = JWPlatformIE._extract_urls(webpage)
return urls[0] if urls else None
@staticmethod
def _extract_urls(webpage):
return re.findall(
r'<(?:script|iframe)[^>]+?src=["\']((?:https?:)?//content\.jwplatform\.com/players/[a-zA-Z0-9]{8})',
webpage)
if mobj:
return mobj.group('url')
def _real_extract(self, url):
video_id = self._match_id(url)


Loading…
Cancel
Save