(r"/downloads/thank-you", downloads.ThankYouHandler),
(r"/downloads/([0-9a-z\-\.]+)", downloads.ReleaseHandler),
- # Download legacy redirection
- (r"/download", tornado.web.RedirectHandler, { "url" : "/downloads" }),
- (r"/download/([0-9a-z\-\.]+)", tornado.web.RedirectHandler, { "url" : "/downloads/{0}" }),
-
# Donate
(r"/donate", donate.DonateHandler),
(r"/donate/thank-you", donate.ThankYouHandler),
(r"/donate/error", donate.ErrorHandler),
- (r"/donation", tornado.web.RedirectHandler, { "url" : "/donate" }),
# Password Reset
(r"/password\-reset", auth.PasswordResetInitiationHandler),
(r"/users/([a-z_][a-z0-9_-]{0,31})", users.ShowHandler),
(r"/users/([a-z_][a-z0-9_-]{0,31})\.jpg", users.AvatarHandler),
- # RSS feed
- (r"/news.rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }),
-
- # Redirect news articles to blog
- (r"/news/(.*)", handlers.NewsHandler),
-
# Static Pages
(r"/about", StaticHandler, { "template" : "about.html" }),
(r"/legal", StaticHandler, { "template" : "legal.html" }),
(r"/help", StaticHandler, { "template" : "help.html" }),
# Handle old pages that have moved elsewhere
+ (r"/donation", tornado.web.RedirectHandler, { "url" : "/donate" }),
+ (r"/download", tornado.web.RedirectHandler, { "url" : "/downloads" }),
+ (r"/download/([0-9a-z\-\.]+)", tornado.web.RedirectHandler, { "url" : "/downloads/{0}" }),
(r"/features", tornado.web.RedirectHandler, { "url" : "/about" }),
(r"/imprint", tornado.web.RedirectHandler, { "url" : "/legal" }),
- (r"/(de|en)/(.*)", LangCompatHandler),
+ (r"/news.rss", tornado.web.RedirectHandler, { "url" : "/blog/feed.xml" }),
+ (r"/news/(.*)", tornado.web.RedirectHandler, { "url" : "/blog/{0}" }),
(r"/support", tornado.web.RedirectHandler, { "url" : "/help"}),
+ (r"/(de|en)/(.*)", tornado.web.RedirectHandler, { "url" : "/{0}"}),
# Export arbitrary error pages
(r"/error/([45][0-9]{2})", base.ErrorHandler),
# planet.ipfire.org
self.add_handlers(r"planet\.([a-z]+\.dev\.)?ipfire\.org", [
(r"/", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/" }),
- (r"/post/([A-Za-z0-9_-]+)", handlers.PlanetPostHandler),
- (r"/user/([a-z0-9_-]+)", handlers.PlanetUserHandler),
+ (r"/post/([A-Za-z0-9_-]+)", tornado.web.RedirectHandler, { "url" : "https://www.ipfire.org/blog/{0}" }),
+ (r"/user/([a-z0-9_-]+)", tornado.web.RedirectHandler, { "url" : "https://www.ipfire.org/blog/authors/{0}" }),
# RSS
(r"/rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }),
from . import base
-class LangCompatHandler(base.BaseHandler):
- """
- Redirect links in the old format to current site:
-
- E.g. /en/index -> /index
- """
- def get(self, lang, page):
- self.redirect("/%s" % page)
-
-
class IndexHandler(base.BaseHandler):
"""
This handler displays the welcome page.
return self.render("index.html", latest_release=latest_release)
-class NewsHandler(base.BaseHandler):
- def get(self, post):
- self.redirect("https://www.ipfire.org/blog/%s" % post, permanent=True)
-
-
-class PlanetPostHandler(base.BaseHandler):
- def get(self, post):
- self.redirect("https://www.ipfire.org/blog/%s" % post, permanent=True)
-
-
-class PlanetUserHandler(base.BaseHandler):
- def get(self, user):
- self.redirect("https://www.ipfire.org/blog/authors/%s" % user, permanent=True)
-
-
class StaticHandler(base.BaseHandler):
def initialize(self, template):
self._template = template