From: Michael Tremer Date: Fri, 2 Nov 2018 18:35:20 +0000 (+0000) Subject: Fix redirectors from old URLs X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d76ec66e5df23768f50e8c50e46cba201807bb43;p=ipfire.org.git Fix redirectors from old URLs Older versions of tornado don't allow to use arguments Signed-off-by: Michael Tremer --- diff --git a/src/web/__init__.py b/src/web/__init__.py index a41ee5d7..75021c9f 100644 --- a/src/web/__init__.py +++ b/src/web/__init__.py @@ -124,7 +124,7 @@ class Application(tornado.web.Application): (r"/news.rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }), # Redirect news articles to blog - (r"/news/(.*)", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/posts/{1}" }), + (r"/news/(.*)", handlers.NewsHandler), # Static Pages (r"/chat", StaticHandler, { "template" : "chat.html" }), @@ -176,12 +176,12 @@ class Application(tornado.web.Application): # planet.ipfire.org self.add_handlers(r"planet(\.dev)?\.ipfire\.org", [ (r"/", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/" }), - (r"/post/([A-Za-z0-9_-]+)", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/posts/{1}" }), - (r"/user/([a-z0-9_-]+)", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/authors/{1}" }), + (r"/post/([A-Za-z0-9_-]+)", handlers.PlanetPostHandler), + (r"/user/([a-z0-9_-]+)", handlers.PlanetUserHandler), # RSS (r"/rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }), - (r"/user/([a-z0-9_-]+)/rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/authors/{1}.rss" }), + (r"/user/([a-z0-9_-]+)/rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }), (r"/news.rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }), ]) diff --git a/src/web/handlers.py b/src/web/handlers.py index ea6718b9..4aa204c5 100644 --- a/src/web/handlers.py +++ b/src/web/handlers.py @@ -2,6 +2,7 @@ import iso3166 import tornado.gen +import tornado.httputil import tornado.web from . import base @@ -34,6 +35,21 @@ class IndexHandler(base.BaseHandler): latest_release=latest_release) +class NewsHandler(base.BaseHandler): + def get(self, post): + self.redirect("https://blog.ipfire.org/post/%s" % post, permanent=True) + + +class PlanetPostHandler(base.BaseHandler): + def get(self, post): + self.redirect("https://blog.ipfire.org/post/%s" % post, permanent=True) + + +class PlanetUserHandler(base.BaseHandler): + def get(self, user): + self.redirect("https://blog.ipfire.org/authors/%s" % user, permanent=True) + + class DonateHandler(base.BaseHandler): def get(self): location = self.get_remote_location()