From b295fd766d1c3c22d81b154cb86ef2665c75ce6a Mon Sep 17 00:00:00 2001 From: girst Date: Fri, 26 Jan 2024 15:39:43 +0000 Subject: [PATCH] support ancient /v/ urls these were used in the shockwave era; now they redirect to /watch. --- app/youtube/__init__.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/youtube/__init__.py b/app/youtube/__init__.py index 1a50c14..d7227c0 100644 --- a/app/youtube/__init__.py +++ b/app/youtube/__init__.py @@ -203,6 +203,7 @@ def embed(video_id): return redirect(url_for('.watch', v=video_id, t=request.args.get('start'))) +@frontend.route('/v/', strict_slashes=False) @frontend.route('/live/', strict_slashes=False) @frontend.route('/shorts/', strict_slashes=False) def shorts_or_live(video_id): @@ -231,14 +232,14 @@ def attribution_link(): # /attribution_link?a=JdfC0C9V6ZI&u=%2Fwatch%3Fv%3DEhxJLojIE_o%26feature%3Dshare return redirect(request.args.get('u') or '/') -@frontend.route('/c//') -@frontend.route('/c//') -@frontend.route('/user//') -@frontend.route('/user//') -def channel_redirect(channel_id, subpage=None): +@frontend.route('/c//') +@frontend.route('/c//') +@frontend.route('/user//') +@frontend.route('/user//') +def channel_redirect(username, subpage=None): # Note: we can't check /c/, so we have to assume it is the same as /user/, # which is sometimes wrong. - xmlfeed = fetch_xml("user", channel_id) + xmlfeed = fetch_xml("user", username) if not xmlfeed: raise NotFound("unknown channel name") -- 2.39.3