From 1de9ae424573e3b0aed1bad68067430dd1baa357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Sat, 19 Dec 2020 22:13:37 -0500 Subject: Patch-import-migrate: Add embed page for embeds on the web Issue #36 From e51f0a78c778a2283887db7ffc22421a7c849296 Mon Sep 17 00:00:00 2001 From: James Taylor --- youtube/templates/embed.html | 35 +++++++++++++++++++++++++++++++++++ youtube/watch.py | 30 +++++++++++++++++++++++------- 2 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 youtube/templates/embed.html (limited to 'youtube') diff --git a/youtube/templates/embed.html b/youtube/templates/embed.html new file mode 100644 index 0000000..728791b --- /dev/null +++ b/youtube/templates/embed.html @@ -0,0 +1,35 @@ + + + + + + + {{ title }} + + + + + + + diff --git a/youtube/watch.py b/youtube/watch.py index d260815..7c140d9 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -1,3 +1,4 @@ +import youtube from youtube import yt_app from youtube import util, comments, local_playlist, yt_data_extract import settings @@ -367,11 +368,19 @@ def get_watch_page(video_id=None): playlist_id = request.args.get('list') index = request.args.get('index') use_invidious = bool(int(request.args.get('use_invidious', '1'))) - tasks = ( - gevent.spawn(comments.video_comments, video_id, int(settings.default_comment_sorting), lc=lc ), - gevent.spawn(extract_info, video_id, use_invidious, - playlist_id=playlist_id, index=index) - ) + if request.path.startswith('/embed') and settings.embed_page_mode: + tasks = ( + gevent.spawn((lambda: {})), + gevent.spawn(extract_info, video_id, use_invidious, + playlist_id=playlist_id, index=index), + ) + else: + tasks = ( + gevent.spawn(comments.video_comments, video_id, + int(settings.default_comment_sorting), lc=lc), + gevent.spawn(extract_info, video_id, use_invidious, + playlist_id=playlist_id, index=index), + ) gevent.joinall(tasks) util.check_gevent_exceptions(tasks[1]) comments_info, info = tasks[0].value, tasks[1].value @@ -471,7 +480,12 @@ def get_watch_page(video_id=None): 'url': transcript_url }) - return flask.render_template('watch.html', + if request.path.startswith('/embed') and settings.embed_page_mode: + template_name = 'embed.html' + else: + template_name = 'watch.html' + return flask.render_template( + template_name, header_playlist_names = local_playlist.get_playlist_names(), uploader_channel_url = ('/' + info['author_url']) if info['author_url'] else '', time_published = info['time_published'], @@ -514,7 +528,9 @@ def get_watch_page(video_id=None): js_data = { 'video_id': video_info['id'], - } + }, + # for embed page + font_family=youtube.font_choices[settings.font], ) -- cgit v1.2.3