Put default language subtitles at end of list to work around browser bug when too many languages present

This commit is contained in:
James Taylor 2018-12-16 18:55:05 -08:00
parent 7c97a17053
commit 4825337f3b

View File

@ -180,18 +180,23 @@ subtitles_tag_template = Template('''
def subtitles_html(info): def subtitles_html(info):
result = '' result = ''
default_found = False default_found = False
default = ''
for language, formats in info['subtitles'].items(): for language, formats in info['subtitles'].items():
for format in formats: for format in formats:
if format['ext'] == 'vtt': if format['ext'] == 'vtt':
if language == settings.subtitles_language: append = subtitles_tag_template.substitute(
default_found = True
result += subtitles_tag_template.substitute(
src = html.escape('/' + format['url']), src = html.escape('/' + format['url']),
label = html.escape(language), label = html.escape(language),
srclang = html.escape(language), srclang = html.escape(language),
default = 'default' if language == settings.subtitles_language and settings.subtitles_mode > 0 else '', default = 'default' if language == settings.subtitles_language and settings.subtitles_mode > 0 else '',
) )
if language == settings.subtitles_language:
default_found = True
default = append
else:
result += append
break break
result += default
try: try:
formats = info['automatic_captions'][settings.subtitles_language] formats = info['automatic_captions'][settings.subtitles_language]
except KeyError: except KeyError: