diff options
| -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  | 
