1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
from zope.interface import classProvides
from zope.interface import implements
from z3c.pt import PageTemplateFile as PageTemplateFileBase
from webob import Response
from repoze.bfg.interfaces import IViewFactory
from repoze.bfg.interfaces import IView
class PageTemplateFile(PageTemplateFileBase):
def render(self, *arg, **kw):
result = PageTemplateFileBase.render(self, *arg, **kw)
return Response(result)
class ViewPageTemplateFile(property):
def __init__(self, template):
self.template = template
property.__init__(self, self.render)
def render(self, view):
def template(**kwargs):
return self.template.render(view=view,
context=view.context,
request=view.request,
options=kwargs)
return template
class TemplateView(object):
classProvides(IViewFactory)
implements(IView)
def __init__(self, context, request):
self.context = context
self.request = request
def __call__(self, *arg, **kw):
""" See metaconfigure.py to see where 'index' comes from """
return self.index(*arg, **kw)
|