from __future__ import with_statement import web from helper import appdir from renderer import render class Page: """ All the general and simple pages. """ def GET(self, name = '/'): web.header("Content-Type", "text/html;charset=utf-8", unique = True) if not name or name == '/': name = 'index' return render(name) class Redirect: """ Redirecting to another page. """ redirects = {} with open(appdir("redirects")) as f: for line in f: name, url = line.split() redirects[name.strip()] = url.strip() def GET(self, name): if name[-1] == "/": name = name[:-1] if name not in self.redirects: raise web.TempRedirect("/") else: raise web.Found(self.redirects[name], absolute = True) def FourOhFour(page="?"): """ 404 error page. """ return web.notfound(render("404", level = "", page = page))