[gamespot] skip Brightcove Once http formats(#14652)
authorRemita Amine <remitamine@gmail.com>
Sat, 11 Nov 2017 11:41:15 +0000 (12:41 +0100)
committerRemita Amine <remitamine@gmail.com>
Sat, 11 Nov 2017 12:03:16 +0000 (13:03 +0100)
youtube_dl/extractor/gamespot.py
youtube_dl/extractor/once.py

index 6d177cbaf388afb1bb1a71873558ee55ca70ee2c..be1ed8b4a3f91a008386468736b8eda00289c141 100644 (file)
@@ -108,7 +108,8 @@ class GameSpotIE(OnceIE):
             onceux_url = self._parse_json(unescapeHTML(onceux_json), page_id).get('metadataUri')
             if onceux_url:
                 formats.extend(self._extract_once_formats(re.sub(
-                    r'https?://[^/]+', 'http://once.unicornmedia.com', onceux_url)))
+                    r'https?://[^/]+', 'http://once.unicornmedia.com', onceux_url),
+                    skip_http_formats=True))
 
         if not formats:
             for quality in ['sd', 'hd']:
index a637c8ecfb0f03ecc46536363800c38f716fe557..6ba6fe5d3a6c7654fb038988ec852216eb2506eb 100644 (file)
@@ -11,7 +11,7 @@ class OnceIE(InfoExtractor):
     ADAPTIVE_URL_TEMPLATE = 'http://once.unicornmedia.com/now/master/playlist/%s/%s/%s/content.m3u8'
     PROGRESSIVE_URL_TEMPLATE = 'http://once.unicornmedia.com/now/media/progressive/%s/%s/%s/%s/content.mp4'
 
-    def _extract_once_formats(self, url):
+    def _extract_once_formats(self, url, skip_http_formats=False):
         domain_id, application_id, media_item_id = re.match(
             OnceIE._VALID_URL, url).groups()
         formats = self._extract_m3u8_formats(
@@ -27,7 +27,7 @@ class OnceIE(InfoExtractor):
             rendition_id = self._search_regex(
                 r'/now/media/playlist/[^/]+/[^/]+/([^/]+)',
                 adaptive_format['url'], 'redition id', default=None)
-            if rendition_id:
+            if rendition_id and not skip_http_formats:
                 progressive_format = adaptive_format.copy()
                 progressive_format.update({
                     'url': self.PROGRESSIVE_URL_TEMPLATE % (