From 7ab815b387ea1de79e4ccf9ea799d997c452d7f1 Mon Sep 17 00:00:00 2001 From: Nick Sergeant Date: Tue, 26 Mar 2013 13:18:40 -0400 Subject: [PATCH] Some redirects for old feed URLs --- snipts/urls.py | 27 +++++++++++++++++---------- snipts/views.py | 19 +++++++++++++++---- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/snipts/urls.py b/snipts/urls.py index e4ea406..19b65f8 100644 --- a/snipts/urls.py +++ b/snipts/urls.py @@ -4,15 +4,22 @@ from snipts import views urlpatterns = patterns('', - url(r'^$', views.home, name='home'), - url(r'^public/$', views.list_public, name='list-public'), - url(r'^public/tag/(?P[^/]+)/$', views.list_public, name='list-public-tag'), - url(r'^embed/(?P[^/]+)/$', views.embed, name='embed'), - url(r'^raw/(?P[^/]+)/(?P[^\?]+)?$', views.raw, name='raw'), - url(r'^s/(?P[^/]+)/(?P[^\?]+)?$', views.redirect, name='redirect'), - url(r'^(?P[^/]+)/$', views.list_user, name='list-user'), + + # Redirects + url(r'^s/(?P[^/]+)/(?P[^\?]+)?$', views.redirect_snipt, name='redirect-snipt'), + url(r'^(?P[^/]+)/feed/$', views.redirect_user_feed, name='redirect-feed'), + url(r'^public/tag/(?P[^/]+)/feed/$', views.redirect_public_tag_feed, name='redirect-public-tag-feed'), + url(r'^(?P[^/]+)/tag/(?P[^/]+)/feed/$', views.redirect_user_tag_feed, name='redirect-user-tag-feed'), + + url(r'^$', views.home, name='home'), + url(r'^public/$', views.list_public, name='list-public'), + url(r'^public/tag/(?P[^/]+)/$', views.list_public, name='list-public-tag'), + url(r'^embed/(?P[^/]+)/$', views.embed, name='embed'), + url(r'^raw/(?P[^/]+)/(?P[^\?]+)?$', views.raw, name='raw'), + url(r'^(?P[^/]+)/$', views.list_user, name='list-user'), url(r'^(?P[^/]+)/tag/(?P[^/]+)/$', views.list_user, name='list-user-tag'), - url(r'^(?P[^/]+)/favorites/$', views.favorites, name='favorites'), - url(r'^(?P[^/]+)/blog-posts/$', views.blog_posts, name='blog-posts'), - url(r'^(?P[^/]+)/(?P[^/]+)/$', views.detail, name='detail'), + url(r'^(?P[^/]+)/favorites/$', views.favorites, name='favorites'), + url(r'^(?P[^/]+)/blog-posts/$', views.blog_posts, name='blog-posts'), + url(r'^(?P[^/]+)/(?P[^/]+)/$', views.detail, name='detail'), + ) diff --git a/snipts/views.py b/snipts/views.py index 1d597e5..b5478e3 100644 --- a/snipts/views.py +++ b/snipts/views.py @@ -268,10 +268,6 @@ def raw(request, snipt_key, lexer=None): context_instance=RequestContext(request), mimetype=mimetype) -def redirect(request, snipt_key, lexer=None): - snipt = get_object_or_404(Snipt, key=snipt_key) - return HttpResponseRedirect(snipt.get_absolute_url()) - def rss(request, context): return render_to_response( 'rss.xml', @@ -318,3 +314,18 @@ def search(request, template='search/search.html', load_all=True, form_class=Mod return render_to_response(template, context, context_instance=context_class(request)) + +def redirect_snipt(request, snipt_key, lexer=None): + snipt = get_object_or_404(Snipt, key=snipt_key) + return HttpResponseRedirect(snipt.get_absolute_url()) + +def redirect_public_tag_feed(request, tag_slug): + return HttpResponseRedirect('/public/tag/{}/?rss'.format(tag_slug)) + +def redirect_user_feed(request, username): + user = get_object_or_404(User, username=username) + return HttpResponseRedirect(user.get_absolute_url() + '?rss') + +def redirect_user_tag_feed(request, username, tag_slug): + return HttpResponseRedirect('/{}/tag/{}/?rss'.format(username, tag_slug)) +