aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-06-29 23:01:34 +0700
committerSergey M․ <dstftw@gmail.com>2016-06-29 23:01:34 +0700
commit06a96da15bfde93a2f2aa17cdaa10e1bf11dde0c (patch)
tree6af6f95522938aa5d5a061117acb2fbecd52a242 /youtube_dl
parent70157c2c43068b23007a6d71e16967ba85b274d5 (diff)
[eagleplatform] Improve embed detection and extract in separate routine (Closes #9926)
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/extractor/eagleplatform.py8
-rw-r--r--youtube_dl/extractor/generic.py8
2 files changed, 12 insertions, 4 deletions
diff --git a/youtube_dl/extractor/eagleplatform.py b/youtube_dl/extractor/eagleplatform.py
index 113a4966f..12d28d3b9 100644
--- a/youtube_dl/extractor/eagleplatform.py
+++ b/youtube_dl/extractor/eagleplatform.py
@@ -51,6 +51,14 @@ class EaglePlatformIE(InfoExtractor):
}]
@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
def _handle_error(response):
status = int_or_none(response.get('status', 200))
if status != 200:
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 2188f8bb2..712dd8a94 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -65,6 +65,7 @@ from .threeqsdn import ThreeQSDNIE
from .theplatform import ThePlatformIE
from .vessel import VesselIE
from .kaltura import KalturaIE
+from .eagleplatform import EaglePlatformIE
class GenericIE(InfoExtractor):
@@ -1932,10 +1933,9 @@ class GenericIE(InfoExtractor):
return self.url_result(smuggle_url(kaltura_url, {'source_url': url}), KalturaIE.ie_key())
# Look for Eagle.Platform embeds
- mobj = re.search(
- r'<iframe[^>]+src="(?P<url>https?://.+?\.media\.eagleplatform\.com/index/player\?.+?)"', webpage)
- if mobj is not None:
- return self.url_result(mobj.group('url'), 'EaglePlatform')
+ eagleplatform_url = EaglePlatformIE._extract_url(webpage)
+ if eagleplatform_url:
+ return self.url_result(eagleplatform_url, EaglePlatformIE.ie_key())
# Look for ClipYou (uses Eagle.Platform) embeds
mobj = re.search(