[youtube] Convert to new subtitles system

The automatic captions are stored in the 'automactic_captions' field, which is used if no normal subtitles are found for an specific language.
This commit is contained in:
Jaime Marquínez Ferrándiz 2015-02-16 21:44:17 +01:00
parent a1f2a06b34
commit 360e1ca5cc
4 changed files with 61 additions and 37 deletions

View file

@ -157,6 +157,8 @@ class InfoExtractor(object):
with the "ext" entry and one of:
* "data": The subtitles file contents
* "url": A url pointing to the subtitles file
automatic_captions: Like 'subtitles', used by the YoutubeIE for
automatically generated captions
duration: Length of the video in seconds, as an integer.
view_count: How many users have watched the video on the platform.
like_count: Number of positive ratings of the video
@ -1007,6 +1009,16 @@ class InfoExtractor(object):
def _get_subtitles(self, *args, **kwargs):
raise NotImplementedError("This method must be implemented by subclasses")
def extract_automatic_captions(self, *args, **kwargs):
automatic_captions = {}
list_subtitles = self._downloader.params.get('listsubtitles')
if self._downloader.params.get('writeautomaticsub', False) or list_subtitles:
automatic_captions.update(self._get_automatic_captions(*args, **kwargs))
return automatic_captions
def _get_automatic_captions(self, *args, **kwargs):
raise NotImplementedError("This method must be implemented by subclasses")
class SearchInfoExtractor(InfoExtractor):
"""