From 97545f9b3b74044f62c93baaff9ad32f9073d217 Mon Sep 17 00:00:00 2001 From: James Taylor Date: Fri, 13 Jul 2018 17:16:29 -0700 Subject: add settings for enabling/disabling comments, comment avatars, & related vids --- settings.py | 4 ++++ youtube/comments.css | 2 ++ youtube/comments.py | 20 ++++++++++++++++---- youtube/watch.py | 5 ++++- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/settings.py b/settings.py index 68f25d6..391dd4d 100644 --- a/settings.py +++ b/settings.py @@ -9,6 +9,10 @@ subtitles_mode = 0 # ISO 639 language code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes subtitles_language = "en" + +enable_related_videos = True +enable_comments = True +enable_comment_avatars = True ''' exec(default_settings) try: diff --git a/youtube/comments.css b/youtube/comments.css index 325a433..0461a52 100644 --- a/youtube/comments.css +++ b/youtube/comments.css @@ -16,6 +16,8 @@ grid-row: 1 / span 3; align-self: start; margin-right: 5px; + height:32px; + width:32px; } .comment address{ diff --git a/youtube/comments.py b/youtube/comments.py index 4a00292..45a8f44 100644 --- a/youtube/comments.py +++ b/youtube/comments.py @@ -6,11 +6,12 @@ from string import Template import urllib.request import urllib import html +import settings comment_template = Template('''
- +$avatar
$author @@ -23,6 +24,8 @@ $replies
''') +comment_avatar_template = Template(''' ''') + reply_link_template = Template(''' View replies ''') @@ -143,10 +146,17 @@ def get_comments_html(result): replies = '' if comment['replies_url']: replies = reply_link_template.substitute(url=comment['replies_url']) + if settings.enable_comment_avatars: + avatar = comment_avatar_template.substitute( + author_url = URL_ORIGIN + comment['author_url'], + author_avatar = '/' + comment['author_avatar'], + ) + else: + avatar = '' html_result += comment_template.substitute( author=html.escape(comment['author']), author_url = URL_ORIGIN + comment['author_url'], - author_avatar = '/' + comment['author_avatar'], + avatar = avatar, likes = str(comment['likes']) + ' likes' if str(comment['likes']) != '0' else '', published = comment['published'], text = format_text_runs(comment['text']), @@ -157,8 +167,10 @@ def get_comments_html(result): return html_result, result['ctoken'] def video_comments(video_id, sort=0, offset=0, secret_key=''): - result = parse_comments(request_comments(make_comment_ctoken(video_id, sort, offset, secret_key))) - return get_comments_html(result) + if settings.enable_comments: + result = parse_comments(request_comments(make_comment_ctoken(video_id, sort, offset, secret_key))) + return get_comments_html(result) + return '', '' more_comments_template = Template('''More comments''') diff --git a/youtube/watch.py b/youtube/watch.py index 9d493af..c64efbc 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -314,7 +314,10 @@ def get_watch_page(query_string): upload_day = info["upload_date"][6:8] upload_date = upload_month + "/" + upload_day + "/" + upload_year - related_videos_html = get_related_items_html(info) + if settings.enable_related_videos: + related_videos_html = get_related_items_html(info) + else: + related_videos_html = '' page = yt_watch_template.substitute( video_title = html.escape(info["title"]), -- cgit v1.2.3