diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2015-02-22 11:37:27 +0100 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2015-02-22 11:37:27 +0100 | 
| commit | 98c70d6fc7006c8cbbd76fb1b8661d758fc4f5d8 (patch) | |
| tree | a78f559be6c02e35c10bf32f624c82f5aa73d8b3 | |
| parent | ab84349b16b3c94775543a04855fc77005f8237e (diff) | |
[YoutubeDL] only add normal subtitles to the 'requested_subtitles' field if 'writesubtitles' is True
| -rw-r--r-- | test/test_YoutubeDL.py | 7 | ||||
| -rwxr-xr-x | youtube_dl/YoutubeDL.py | 10 | 
2 files changed, 13 insertions, 4 deletions
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index e11292211..055e42555 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -389,6 +389,13 @@ class TestFormatSelection(unittest.TestCase):          self.assertFalse(subs['es']['_auto'])          self.assertTrue(subs['pt']['_auto']) +        result = get_info({'writeautomaticsub': True, 'subtitleslangs': ['es', 'pt']}) +        subs = result['requested_subtitles'] +        self.assertTrue(subs) +        self.assertEqual(set(subs.keys()), set(['es', 'pt'])) +        self.assertTrue(subs['es']['_auto']) +        self.assertTrue(subs['pt']['_auto']) +      def test_add_extra_info(self):          test_dict = {              'extractor': 'Foo', diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 088b111eb..7319323e5 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -1156,11 +1156,13 @@ class YoutubeDL(object):          info_dict.update(formats_to_download[-1])          return info_dict -    def process_subtitles(self, video_id, available_subs, available_autocaps): +    def process_subtitles(self, video_id, normal_subtitles, automatic_captions):          """Select the requested subtitles and their format""" -        if available_autocaps and self.params.get('writeautomaticsub'): -            available_subs = available_subs.copy() -            for lang, cap_info in available_autocaps.items(): +        available_subs = {} +        if normal_subtitles and self.params.get('writesubtitles'): +            available_subs.update(normal_subtitles) +        if automatic_captions and self.params.get('writeautomaticsub'): +            for lang, cap_info in automatic_captions.items():                  if lang not in available_subs:                      available_subs[lang] = cap_info  | 
