diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-06-29 23:01:34 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-06-29 23:01:34 +0700 | 
| commit | 06a96da15bfde93a2f2aa17cdaa10e1bf11dde0c (patch) | |
| tree | 6af6f95522938aa5d5a061117acb2fbecd52a242 | |
| parent | 70157c2c43068b23007a6d71e16967ba85b274d5 (diff) | |
[eagleplatform] Improve embed detection and extract in separate routine (Closes #9926)
| -rw-r--r-- | youtube_dl/extractor/eagleplatform.py | 8 | ||||
| -rw-r--r-- | youtube_dl/extractor/generic.py | 8 | 
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(  | 
