1 from twisted.web.template import (
2 XMLFile, TagLoader, Element, renderer, flattenString)
3 from twisted.python.filepath import FilePath
5 class WidgetsElement(Element):
6 loader = XMLFile(FilePath('subviews-1.xml'))
8 widgetData = ['gadget', 'contraption', 'gizmo', 'doohickey']
11 def widgets(self, request, tag):
12 for widget in self.widgetData:
13 yield WidgetElement(TagLoader(tag), widget)
15 class WidgetElement(Element):
16 def __init__(self, loader, name):
17 Element.__init__(self, loader)
21 def name(self, request, tag):
22 return tag(self._name)
24 def printResult(result):
27 flattenString(None, WidgetsElement()).addCallback(printResult)