~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to turbosimpletal/zptsupport.py

tweaks to changelog view

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
import StringIO
4
4
import logging
5
 
import os
6
5
import pkg_resources
7
6
 
 
7
#from zope.pagetemplate.pagetemplatefile import PageTemplateFile
8
8
from simpletal import simpleTAL, simpleTALES
9
9
 
10
10
log = logging.getLogger("turbogears.zptsupport")
11
11
 
12
 
 
13
12
_zpt_cache = {}
 
13
 
14
14
def zpt(tfile):
15
15
    tinstance = _zpt_cache.get(tfile)
16
 
    stat = os.stat(tfile)
17
 
    if tinstance is None or tinstance.stat != stat:
 
16
    if tinstance is None:
18
17
        tinstance = _zpt_cache[tfile] = TemplateWrapper(
19
 
            simpleTAL.compileXMLTemplate(open(tfile)), tfile, stat)
 
18
            simpleTAL.compileXMLTemplate(open(tfile)), tfile)
20
19
    return tinstance
21
20
 
22
 
 
23
21
class TemplateWrapper(object):
24
22
 
25
 
    def __init__(self, template, filename, stat):
 
23
    def __init__(self, template, filename):
26
24
        self.template = template
27
25
        self.filename = filename
28
 
        self.stat = stat
29
26
 
30
27
    def expand(self, **info):
31
28
        context = simpleTALES.Context(allowPythonPath=1)
39
36
    def macros(self):
40
37
        return self.template.macros
41
38
 
 
39
## class TGPageTemplateFile(PageTemplateFile):
 
40
 
 
41
##     def pt_getContext(self, args=(), options={}, **ignored):
 
42
##         namespace = super(TGPageTemplateFile, self).pt_getContext(
 
43
##             args, options, **ignored)
 
44
##         namespace.update(options)
 
45
##         return namespace
42
46
 
43
47
class TurboZpt(object):
44
48
    extension = "pt"