Initial import to Tizen
[profile/ivi/python-twisted.git] / doc / web / howto / listings / subviews-1.py
1 from twisted.web.template import (
2     XMLFile, TagLoader, Element, renderer, flattenString)
3 from twisted.python.filepath import FilePath
4
5 class WidgetsElement(Element):
6     loader = XMLFile(FilePath('subviews-1.xml'))
7
8     widgetData = ['gadget', 'contraption', 'gizmo', 'doohickey']
9
10     @renderer
11     def widgets(self, request, tag):
12         for widget in self.widgetData:
13             yield WidgetElement(TagLoader(tag), widget)
14
15 class WidgetElement(Element):
16     def __init__(self, loader, name):
17         Element.__init__(self, loader)
18         self._name = name
19
20     @renderer
21     def name(self, request, tag):
22         return tag(self._name)
23
24 def printResult(result):
25     print result
26
27 flattenString(None, WidgetsElement()).addCallback(printResult)