~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to turbozpt/zptsupport.py

remove the obscure here hack and tidy up turbozpt some more

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
"TurboGears support for Zope Page Templates"
2
2
 
3
 
from template import zpt
 
3
import logging
 
4
import os
4
5
import pkg_resources
5
6
 
6
 
import logging
 
7
from zope.pagetemplate.pagetemplatefile import PageTemplateFile
 
8
 
7
9
log = logging.getLogger("turbogears.zptsupport")
8
10
 
 
11
_zpt_cache = {}
 
12
 
 
13
def zpt(tfile):
 
14
    tinstance = _zpt_cache.get(tfile)
 
15
    if tinstance is None:
 
16
        tinstance = _zpt_cache[tfile] = TGPageTemplateFile(tfile)
 
17
    return tinstance
 
18
 
 
19
class TGPageTemplateFile(PageTemplateFile):
 
20
 
 
21
    def pt_getContext(self, args=(), options={}, **ignored):
 
22
        namespace = super(TGPageTemplateFile, self).pt_getContext(
 
23
            args, options, **ignored)
 
24
        namespace.update(options)
 
25
        return namespace
 
26
 
9
27
class TurboZpt(object):
10
28
    extension = "pt"
11
29
 
47
65
            data.update(self.get_extra_vars())
48
66
        data.update(info)
49
67
        return tinstance(**data).encode('utf-8')
50