1
0
Fork 0
gnuviechadmin-historic/frontend/web/gnuviechadmin/frontend/web.py

43 lines
1.1 KiB
Python

from mod_python import apache, Session
from genshi.template import TemplateLoader, TemplateNotFound
from genshi import ParseError
def findtemplate(uri):
templates = {"/" : "index.xml"}
if uri in templates:
return templates[uri]
return None
def handler(req):
session = Session.Session(req)
try:
session['hits'] += 1
except:
session['hits'] = 1
session.save()
template = findtemplate(req.uri)
if template:
loader = TemplateLoader([req.document_root()])
try:
req.content_type = "text/html; charset=UTF-8"
tmpl = loader.load(template)
stream = tmpl.generate(title='Hello World: Reloaded',
hits=session['hits'])
pagebuffer = stream.render('xhtml')
except TemplateNotFound, tnf:
req.content_type = "text/plain; charset=UTF-8"
pagebuffer = str(tnf)
except ParseError, pe:
req.content_type = "text/plain; charset=UTF-8"
pagebuffer = str(pe)
#pagebuffer = "Hits: %d\n" % session['hits']
#pagebuffer += "Yippieh: I found %s -> %s!" % (req.uri, template)
req.write(pagebuffer)
return (apache.OK)
return (apache.HTTP_NOT_FOUND)