# HG changeset patch # User cmlenz # Date 1159190802 0 # Node ID bb681897009231e3714c0e8ca792b703b2b7bab1 # Parent aa16cebbcfe406df80bb9a7fce98e52790b3756a Add [WebPy web.py] example app. diff --git a/examples/webpy/README.txt b/examples/webpy/README.txt new file mode 100644 --- /dev/null +++ b/examples/webpy/README.txt @@ -0,0 +1,6 @@ +Sample application that demonstrates the use of Genshi templates in web.py +(http://webpy.org/). + +Try introducing errors (not just XML well-formedness errors, those are boring) +in the template, and you'll see a nice error screen with pretty good +information about the exact error. diff --git a/examples/webpy/hello.html b/examples/webpy/hello.html new file mode 100644 --- /dev/null +++ b/examples/webpy/hello.html @@ -0,0 +1,13 @@ + + + +

web.py with Genshi

+
+ + + diff --git a/examples/webpy/hello.py b/examples/webpy/hello.py new file mode 100644 --- /dev/null +++ b/examples/webpy/hello.py @@ -0,0 +1,28 @@ +import os +from genshi.template import TemplateLoader +import web + +loader = TemplateLoader([os.path.dirname(os.path.abspath(__file__))], + auto_reload=True) +urls = ('/(.*)', 'hello') + + +class hello(object): + + def GET(self, name): + i = web.input(times=1) + if not name: + name = 'world' + name = name.decode('utf-8') + + tmpl = loader.load('hello.html') + stream = tmpl.generate(name=name, times=int(i.times)) + + web.header('Content-Type', 'text/html; charset=utf-8', unique=True) + for output in stream.serialize('html'): + print output.encode('utf-8') + + +if __name__ == '__main__': + web.internalerror = web.debugerror + web.run(urls)