[YoutubeDL] only add normal subtitles to the 'requested_subtitles' field if 'writesubtitles' is True
This commit is contained in:
parent
ab84349b16
commit
98c70d6fc7
2 changed files with 13 additions and 4 deletions
|
@ -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',
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue