diff options
| -rwxr-xr-x | youtube_dl/YoutubeDL.py | 11 | ||||
| -rw-r--r-- | youtube_dl/extractor/common.py | 1 | 
2 files changed, 10 insertions, 2 deletions
| diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index d65253882..adf70d658 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -1232,13 +1232,20 @@ class YoutubeDL(object):              except (ValueError, OverflowError, OSError):                  pass +        subtitles = info_dict.get('subtitles') +        if subtitles: +            for _, subtitle in subtitles.items(): +                for subtitle_format in subtitle: +                    if 'ext' not in subtitle_format: +                        subtitle_format['ext'] = determine_ext(subtitle_format['url']).lower() +          if self.params.get('listsubtitles', False):              if 'automatic_captions' in info_dict:                  self.list_subtitles(info_dict['id'], info_dict.get('automatic_captions'), 'automatic captions') -            self.list_subtitles(info_dict['id'], info_dict.get('subtitles'), 'subtitles') +            self.list_subtitles(info_dict['id'], subtitles, 'subtitles')              return          info_dict['requested_subtitles'] = self.process_subtitles( -            info_dict['id'], info_dict.get('subtitles'), +            info_dict['id'], subtitles,              info_dict.get('automatic_captions'))          # We now pick which formats have to be downloaded diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 4fe2307cd..dbae75406 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -165,6 +165,7 @@ class InfoExtractor(object):                      with the "ext" entry and one of:                          * "data": The subtitles file contents                          * "url": A URL pointing to the subtitles file +                    "ext" will be calculated from URL if missing      automatic_captions: Like 'subtitles', used by the YoutubeIE for                      automatically generated captions      duration:       Length of the video in seconds, as an integer. | 
