from __future__ import with_statement import web from renderer import render class Page: """ All the general and simple pages. """ def GET(self, name = '/'): 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. """ return web.notfound(render("404", level = "", page = page))