language settings and default-mode settings for subtitles

This commit is contained in:
James Taylor 2018-07-13 16:54:33 -07:00
parent 12382d5205
commit cccffb8354
2 changed files with 15 additions and 6 deletions

View File

@ -1,6 +1,14 @@
default_settings = '''route_tor = False
port_number = 80
allow_foreign_addresses = False
# 0 - off by default
# 1 - only manually created subtitles on by default
# 2 - enable even if automatically generated is all that's available
subtitles_mode = 0
# ISO 639 language code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
subtitles_language = "en"
'''
exec(default_settings)
try:

View File

@ -7,6 +7,7 @@ import youtube.common as common
from youtube.common import default_multi_get, get_thumbnail_url, video_id, URL_ORIGIN
import youtube.comments as comments
import gevent
import settings
video_height_priority = (360, 480, 240, 720, 1080)
@ -252,17 +253,17 @@ def subtitles_html(info):
for language, formats in info['subtitles'].items():
for format in formats:
if format['ext'] == 'vtt':
if language == "en":
if language == settings.subtitles_language:
default_found = True
result += subtitles_tag_template.substitute(
src = html.escape('/' + format['url']),
label = html.escape(language),
srclang = html.escape(language),
default = 'default' if language == 'en' else '',
default = 'default' if language == settings.subtitles_language and settings.subtitles_mode > 0 else '',
)
break
try:
formats = info['automatic_captions']['en']
formats = info['automatic_captions'][settings.subtitles_language]
except KeyError:
pass
else:
@ -270,9 +271,9 @@ def subtitles_html(info):
if format['ext'] == 'vtt':
result += subtitles_tag_template.substitute(
src = html.escape('/' + format['url']),
label = 'en' + ' - Automatic',
srclang = 'en',
default = '' if default_found else 'default',
label = settings.subtitles_language + ' - Automatic',
srclang = settings.subtitles_language,
default = 'default' if settings.subtitles_mode == 2 and not default_found else '',
)
return result