Просмотр исходного кода

[bloomberg] Fix ooyala url extraction

Added a helper method to InfoExtractor for searching the ‘twitter:player’ meta property.
Now the OoyalaIE also recognizes the ‘ec’ parameter in the url as the embed code.
Jaime Marquínez Ferrándiz 11 лет назад
Родитель
Сommit
0c708f11cb
3 измененных файлов с 7 добавлено и 3 удалено
  1. 2 2
      youtube_dl/extractor/bloomberg.py
  2. 4 0
      youtube_dl/extractor/common.py
  3. 1 1
      youtube_dl/extractor/ooyala.py

+ 2 - 2
youtube_dl/extractor/bloomberg.py

@@ -24,5 +24,5 @@ class BloombergIE(InfoExtractor):
         mobj = re.match(self._VALID_URL, url)
         mobj = re.match(self._VALID_URL, url)
         name = mobj.group('name')
         name = mobj.group('name')
         webpage = self._download_webpage(url, name)
         webpage = self._download_webpage(url, name)
-        ooyala_code = self._search_regex(r'<source src="http://player.ooyala.com/player/[^/]+/([^".]+)', webpage, u'ooyala url')
-        return OoyalaIE._build_url_result(ooyala_code)
+        ooyala_url = self._twitter_search_player(webpage)
+        return self.url_result(ooyala_url, OoyalaIE.ie_key())

+ 4 - 0
youtube_dl/extractor/common.py

@@ -465,6 +465,10 @@ class InfoExtractor(object):
         }
         }
         return RATING_TABLE.get(rating.lower(), None)
         return RATING_TABLE.get(rating.lower(), None)
 
 
+    def _twitter_search_player(self, html):
+        return self._html_search_meta('twitter:player', html,
+            'twitter card player')
+
     def _sort_formats(self, formats):
     def _sort_formats(self, formats):
         if not formats:
         if not formats:
             raise ExtractorError(u'No video formats found')
             raise ExtractorError(u'No video formats found')

+ 1 - 1
youtube_dl/extractor/ooyala.py

@@ -5,7 +5,7 @@ from .common import InfoExtractor
 from ..utils import unescapeHTML
 from ..utils import unescapeHTML
 
 
 class OoyalaIE(InfoExtractor):
 class OoyalaIE(InfoExtractor):
-    _VALID_URL = r'https?://.+?\.ooyala\.com/.*?embedCode=(?P<id>.+?)(&|$)'
+    _VALID_URL = r'https?://.+?\.ooyala\.com/.*?(?:embedCode|ec)=(?P<id>.+?)(&|$)'
 
 
     _TEST = {
     _TEST = {
         # From http://it.slashdot.org/story/13/04/25/178216/recovering-data-from-broken-hard-drives-and-ssds-video
         # From http://it.slashdot.org/story/13/04/25/178216/recovering-data-from-broken-hard-drives-and-ssds-video