diff options
-rw-r--r-- | settings.py | 8 | ||||
-rw-r--r-- | youtube/watch.py | 13 |
2 files changed, 15 insertions, 6 deletions
diff --git a/settings.py b/settings.py index 499b32b..68f25d6 100644 --- a/settings.py +++ b/settings.py @@ -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: diff --git a/youtube/watch.py b/youtube/watch.py index 47e9894..9d493af 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -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 |