diff options
Diffstat (limited to 'youtube_dl')
| -rw-r--r-- | youtube_dl/YoutubeDL.py | 4 | ||||
| -rw-r--r-- | youtube_dl/__init__.py | 5 | ||||
| -rw-r--r-- | youtube_dl/extractor/subtitles.py | 5 | 
3 files changed, 9 insertions, 5 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index c2f992b8e..e53a2b8ad 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -74,6 +74,7 @@ class YoutubeDL(object):      writesubtitles:    Write the video subtitles to a file      writeautomaticsub: Write the automatic subtitles to a file      allsubtitles:      Downloads all the subtitles of the video +                       (requires writesubtitles or writeautomaticsub)      listsubtitles:     Lists all available subtitles for the video      subtitlesformat:   Subtitle format [srt/sbv/vtt] (default=srt)      subtitleslangs:    List of languages of the subtitles to download @@ -499,8 +500,7 @@ class YoutubeDL(object):                  return          subtitles_are_requested = any([self.params.get('writesubtitles', False), -                                       self.params.get('writeautomaticsub'), -                                       self.params.get('allsubtitles', False)]) +                                       self.params.get('writeautomaticsub')])          if  subtitles_are_requested and 'subtitles' in info_dict and info_dict['subtitles']:              # subtitles download errors are already managed as troubles in relevant IE diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 696e54f49..0022a4e7a 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -533,6 +533,11 @@ def _real_main(argv=None):      else:          date = DateRange(opts.dateafter, opts.datebefore) +    # --all-sub automatically sets --write-sub if --write-auto-sub is not given +    # this was the old behaviour if only --all-sub was given. +    if opts.allsubtitles and (opts.writeautomaticsub == False): +        opts.writesubtitles = True +      if sys.version_info < (3,):          # In Python 2, sys.argv is a bytestring (also note http://bugs.python.org/issue2128 for Windows systems)          if opts.outtmpl is not None: diff --git a/youtube_dl/extractor/subtitles.py b/youtube_dl/extractor/subtitles.py index 97215f289..90de7de3a 100644 --- a/youtube_dl/extractor/subtitles.py +++ b/youtube_dl/extractor/subtitles.py @@ -10,8 +10,7 @@ class SubtitlesInfoExtractor(InfoExtractor):      @property      def _have_to_download_any_subtitles(self):          return any([self._downloader.params.get('writesubtitles', False), -                    self._downloader.params.get('writeautomaticsub'), -                    self._downloader.params.get('allsubtitles', False)]) +                    self._downloader.params.get('writeautomaticsub')])      def _list_available_subtitles(self, video_id, webpage=None):          """ outputs the available subtitles for the video """ @@ -34,7 +33,7 @@ class SubtitlesInfoExtractor(InfoExtractor):          available_subs_list = {}          if self._downloader.params.get('writeautomaticsub', False):              available_subs_list.update(self._get_available_automatic_caption(video_id, video_webpage)) -        if self._downloader.params.get('writesubtitles', False) or self._downloader.params.get('allsubtitles', False): +        if self._downloader.params.get('writesubtitles', False):              available_subs_list.update(self._get_available_subtitles(video_id))          if not available_subs_list:  # error, it didn't get the available subtitles  | 
