diff options
Diffstat (limited to 'youtube')
-rw-r--r-- | youtube/__init__.py | 4 | ||||
-rw-r--r-- | youtube/static/js/common.js | 4 | ||||
-rw-r--r-- | youtube/static/js/hotkeys.js | 3 | ||||
-rw-r--r-- | youtube/static/js/sponsorblock.js | 8 | ||||
-rw-r--r-- | youtube/templates/base.html | 5 | ||||
-rw-r--r-- | youtube/templates/watch.html | 1 | ||||
-rw-r--r-- | youtube/watch.py | 4 |
7 files changed, 17 insertions, 12 deletions
diff --git a/youtube/__init__.py b/youtube/__init__.py index 3c271f1..92e1878 100644 --- a/youtube/__init__.py +++ b/youtube/__init__.py @@ -7,6 +7,10 @@ from sys import exc_info yt_app = flask.Flask(__name__) yt_app.config['TEMPLATES_AUTO_RELOAD'] = True yt_app.url_map.strict_slashes = False +# yt_app.jinja_env.trim_blocks = True +# yt_app.jinja_env.lstrip_blocks = True + + yt_app.add_url_rule('/settings', 'settings_page', settings.settings_page, methods=['POST', 'GET']) diff --git a/youtube/static/js/common.js b/youtube/static/js/common.js index 42fa41f..2db4390 100644 --- a/youtube/static/js/common.js +++ b/youtube/static/js/common.js @@ -108,10 +108,6 @@ function copyTextToClipboard(text) { document.body.removeChild(textArea); } -function getVideoID() { - return JSON.parse(Q(".video-info input[name=video_info_list]").value).id -} - window.addEventListener('DOMContentLoaded', function() { cur_track_idx = getDefaultTranscriptTrackIdx(); diff --git a/youtube/static/js/hotkeys.js b/youtube/static/js/hotkeys.js index 1f41510..e199f3b 100644 --- a/youtube/static/js/hotkeys.js +++ b/youtube/static/js/hotkeys.js @@ -37,9 +37,8 @@ function onKeyDown(e) { else tt.mode = "showing"; } else if (c == "t") { - let video_id = getVideoID(); let ts = Math.floor(Q("video").currentTime); - copyTextToClipboard(`https://youtu.be/${video_id}?t=${ts}`); + copyTextToClipboard(`https://youtu.be/${data.video_id}?t=${ts}`); } } diff --git a/youtube/static/js/sponsorblock.js b/youtube/static/js/sponsorblock.js index 66dcf16..692de9b 100644 --- a/youtube/static/js/sponsorblock.js +++ b/youtube/static/js/sponsorblock.js @@ -12,14 +12,14 @@ document.addEventListener('DOMContentLoaded', ()=>{ function load_sponsorblock(){ const info_elem = Q('#skip_n'); if (info_elem.innerText.length) return; // already fetched - const video_id = getVideoID(); - const hash = sha256(video_id).substr(0,4); + const hash = sha256(data.video_id).substr(0,4); const video_obj = Q("video"); - fetch(`https://sponsor.ajay.app/api/skipSegments/${hash}`) + let url = `/https://sponsor.ajay.app/api/skipSegments/${hash}`; + fetch(url) .then(response => response.json()) .then(data => { for (const video of data) { - if (video.videoID != video_id) continue; + if (video.videoID != data.video_id) continue; info_elem.innerText = `(${video.segments.length} segments)`; const cat_n = video.segments.map(e=>e.category).sort() .reduce((acc,e) => (acc[e]=(acc[e]||0)+1, acc), {}); diff --git a/youtube/templates/base.html b/youtube/templates/base.html index df7bb99..ef69960 100644 --- a/youtube/templates/base.html +++ b/youtube/templates/base.html @@ -4,8 +4,9 @@ <meta charset="utf-8"> <title>{{ page_title }}</title> <meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'; media-src 'self' https://*.googlevideo.com; - {{ "img-src https://*.googleusercontent.com https://*.ggpht.com https://*.ytimg.com;" if not settings.proxy_images else "" }} - {{ "" if not settings.use_sponsorblock_js else "connect-src 'self' https://sponsor.ajay.app;"|safe }}"> + {% if not settings.proxy_images %} + img-src https://*.googleusercontent.com https://*.ggpht.com https://*.ytimg.com; + {% endif %} <link href="{{ theme_path }}" type="text/css" rel="stylesheet"> <link href="/youtube.com/static/shared.css" type="text/css" rel="stylesheet"> diff --git a/youtube/templates/watch.html b/youtube/templates/watch.html index d89cc05..319c314 100644 --- a/youtube/templates/watch.html +++ b/youtube/templates/watch.html @@ -695,6 +695,7 @@ Reload without invidious (for usage of new identity button).</a> {% endif %} {% endif %} + <script> data = {{ js_data|tojson }} </script> <script src="/youtube.com/static/js/common.js"></script> <script src="/youtube.com/static/js/transcript-table.js"></script> {% if settings.use_video_hotkeys %} <script src="/youtube.com/static/js/hotkeys.js"></script> {% endif %} diff --git a/youtube/watch.py b/youtube/watch.py index 1a9e6c4..1fa952c 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -489,6 +489,10 @@ def get_watch_page(video_id=None): invidious_reload_button = info['invidious_reload_button'], video_url = util.URL_ORIGIN + '/watch?v=' + video_id, time_start = time_start, + + js_data = { + 'video_id': video_info['id'], + } ) |