comparison lxmlmiddleware/example.py @ 0:d1067d921e97

initial import of lxml middleware
author k0s <k0scist@gmail.com>
date Sun, 24 Jan 2010 12:00:39 -0500
parents
children ca1f58f5bad4
comparison
equal deleted inserted replaced
-1:000000000000 0:d1067d921e97
1 from webob import Response
2 from lxml import etree
3 from lxmlmiddleware.middleware import LXMLMiddleware
4 from paste.httpexceptions import HTTPExceptionHandler
5
6 def example_app(environ, start_response):
7 return Response('<html><body>Hello, world!</body></html>')(environ, start_response)
8
9 class ExampleMiddleware(LXMLMiddleware):
10 def manipulate(self, environ, tree):
11 tree.append(etree.XML('<div><i>How are you doing?</i></div>'))
12 return tree
13
14 class ExampleMiddleware2(LXMLMiddleware):
15 def manipulate(self, environ, tree):
16 tree.append(etree.XML("<div><b>I'm doing find, thank you!</b></div>"))
17 return tree
18
19 def factory(global_conf, **app_conf):
20 """create a webob view and wrap it in middleware"""
21 return HTTPExceptionHandler(ExampleMiddleware2(ExampleMiddleware(example_app)))
22