mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-21 20:46:36 -05:00
[eagleplatform] Improve embed detection and extract in separate routine (Closes #9926)
This commit is contained in:
parent
70157c2c43
commit
06a96da15b
2 changed files with 12 additions and 4 deletions
|
@ -50,6 +50,14 @@ class EaglePlatformIE(InfoExtractor):
|
||||||
'skip': 'Georestricted',
|
'skip': 'Georestricted',
|
||||||
}]
|
}]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _extract_url(webpage):
|
||||||
|
mobj = re.search(
|
||||||
|
r'<iframe[^>]+src=(["\'])(?P<url>(?:https?:)?//.+?\.media\.eagleplatform\.com/index/player\?.+?)\1',
|
||||||
|
webpage)
|
||||||
|
if mobj is not None:
|
||||||
|
return mobj.group('url')
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _handle_error(response):
|
def _handle_error(response):
|
||||||
status = int_or_none(response.get('status', 200))
|
status = int_or_none(response.get('status', 200))
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
from .theplatform import ThePlatformIE
|
from .theplatform import ThePlatformIE
|
||||||
from .vessel import VesselIE
|
from .vessel import VesselIE
|
||||||
from .kaltura import KalturaIE
|
from .kaltura import KalturaIE
|
||||||
|
from .eagleplatform import EaglePlatformIE
|
||||||
|
|
||||||
|
|
||||||
class GenericIE(InfoExtractor):
|
class GenericIE(InfoExtractor):
|
||||||
|
@ -1932,10 +1933,9 @@ def _playlist_from_matches(matches, getter=None, ie=None):
|
||||||
return self.url_result(smuggle_url(kaltura_url, {'source_url': url}), KalturaIE.ie_key())
|
return self.url_result(smuggle_url(kaltura_url, {'source_url': url}), KalturaIE.ie_key())
|
||||||
|
|
||||||
# Look for Eagle.Platform embeds
|
# Look for Eagle.Platform embeds
|
||||||
mobj = re.search(
|
eagleplatform_url = EaglePlatformIE._extract_url(webpage)
|
||||||
r'<iframe[^>]+src="(?P<url>https?://.+?\.media\.eagleplatform\.com/index/player\?.+?)"', webpage)
|
if eagleplatform_url:
|
||||||
if mobj is not None:
|
return self.url_result(eagleplatform_url, EaglePlatformIE.ie_key())
|
||||||
return self.url_result(mobj.group('url'), 'EaglePlatform')
|
|
||||||
|
|
||||||
# Look for ClipYou (uses Eagle.Platform) embeds
|
# Look for ClipYou (uses Eagle.Platform) embeds
|
||||||
mobj = re.search(
|
mobj = re.search(
|
||||||
|
|
Loading…
Reference in a new issue