aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-02-22 11:37:27 +0100
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-02-22 11:37:27 +0100
commit98c70d6fc7006c8cbbd76fb1b8661d758fc4f5d8 (patch)
treea78f559be6c02e35c10bf32f624c82f5aa73d8b3
parentab84349b16b3c94775543a04855fc77005f8237e (diff)
downloadyoutube-dl-98c70d6fc7006c8cbbd76fb1b8661d758fc4f5d8.tar.xz
[YoutubeDL] only add normal subtitles to the 'requested_subtitles' field if 'writesubtitles' is True
-rw-r--r--test/test_YoutubeDL.py7
-rwxr-xr-xyoutube_dl/YoutubeDL.py10
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