diff options
Diffstat (limited to 'controller.py')
-rw-r--r-- | controller.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/controller.py b/controller.py index e694148..7de70f1 100644 --- a/controller.py +++ b/controller.py @@ -1,3 +1,5 @@ +from __future__ import with_statement + import web from renderer import render @@ -9,6 +11,23 @@ class Page: if not name or name == '/': name = 'index' return render(name) +class Redirect: + """ + Redirecting to another page. + """ + + redirects = {} + with open("redirects") as f: + for line in f: + name, url = line.split() + redirects[name.strip()] = url.strip() + + def GET(self, name): + if name not in self.redirects: + raise web.TempRedirect("/") + else: + raise web.Redirect(self.redirects[name], absolute = True) + def FourOhFour(page): """ 404 error page. |