blob: f24b435fd07839de82c338775d7cef77980d7cde (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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))
|