Merge remote-tracking branch 'rzhxeo/embedly'
[youtube-dl] / youtube_dl / extractor / orf.py
index 88f03608ba36e52db309f5249d2bd7426faced86..03421d1d5c78f2acd712e560ae17fb96d4a323be 100644 (file)
@@ -8,6 +8,7 @@ from .common import InfoExtractor
 from ..utils import (
     HEADRequest,
     unified_strdate,
+    ExtractorError,
 )
 
 
@@ -35,7 +36,15 @@ class ORFIE(InfoExtractor):
         data_json = self._search_regex(
             r'initializeAdworx\((.+?)\);\n', webpage, 'video info')
         all_data = json.loads(data_json)
-        sdata = all_data[0]['values']['segments']
+
+        def get_segments(all_data):
+            for data in all_data:
+                if data['name'] == 'Tracker::EPISODE_DETAIL_PAGE_OVER_PROGRAM':
+                    return data['values']['segments']
+
+        sdata = get_segments(all_data)
+        if not sdata:
+            raise ExtractorError('Unable to extract segments')
 
         def quality_to_int(s):
             m = re.search('([0-9]+)', s)
@@ -68,7 +77,7 @@ class ORFIE(InfoExtractor):
                     pass
                 else:
                     req = HEADRequest(http_url)
-                    response = self._request_webpage(
+                    self._request_webpage(
                         req, video_id,
                         note='Testing for geoblocking',
                         errnote=((