Преглед изворни кода

[globo] extract subtitles(closes #22713)

Remita Amine пре 5 година
родитељ
комит
30eb05cb41
1 измењених фајлова са 11 додато и 2 уклоњено
  1. 11 2
      youtube_dl/extractor/globo.py

+ 11 - 2
youtube_dl/extractor/globo.py

@@ -102,10 +102,18 @@ class GloboIE(InfoExtractor):
         title = video['title']
         title = video['title']
 
 
         formats = []
         formats = []
+        subtitles = {}
         for resource in video['resources']:
         for resource in video['resources']:
             resource_id = resource.get('_id')
             resource_id = resource.get('_id')
             resource_url = resource.get('url')
             resource_url = resource.get('url')
-            if not resource_id or not resource_url:
+            resource_type = resource.get('type')
+            if not resource_url or (resource_type == 'media' and not resource_id) or resource_type not in ('subtitle', 'media'):
+                continue
+
+            if resource_type == 'subtitle':
+                subtitles.setdefault(resource.get('language') or 'por', []).append({
+                    'url': resource_url,
+                })
                 continue
                 continue
 
 
             security = self._download_json(
             security = self._download_json(
@@ -165,7 +173,8 @@ class GloboIE(InfoExtractor):
             'duration': duration,
             'duration': duration,
             'uploader': uploader,
             'uploader': uploader,
             'uploader_id': uploader_id,
             'uploader_id': uploader_id,
-            'formats': formats
+            'formats': formats,
+            'subtitles': subtitles,
         }
         }