comparison roundup/cgi/engine_chameleon.py @ 4749:0421390b3094

templating: Move common TAL methods to TALLoaderBase class
author anatoly techtonik <techtonik@gmail.com>
date Tue, 22 Jan 2013 17:29:06 +0300
parents fe9568a6cbd6
children 56c9bcdea47f
comparison
equal deleted inserted replaced
4748:e339583eae8e 4749:0421390b3094
3 __docformat__ = 'restructuredtext' 3 __docformat__ = 'restructuredtext'
4 4
5 import os.path 5 import os.path
6 import chameleon 6 import chameleon
7 7
8 from roundup.cgi.templating import StringIO, context, LoaderBase 8 from roundup.cgi.templating import StringIO, context, TALLoaderBase
9 9
10 class Loader(LoaderBase): 10 class Loader(TALLoaderBase):
11 def __init__(self, dir): 11 def __init__(self, dir):
12 self.dir = dir 12 self.dir = dir
13 self.loader = chameleon.PageTemplateLoader(dir) 13 self.loader = chameleon.PageTemplateLoader(dir)
14 14
15 def check(self, name):
16 for extension in ['', '.html', '.xml']:
17 f = name + extension
18 src = os.path.join(self.dir, f)
19 if os.path.exists(src):
20 return (src, f)
21
22 def load(self, tplname): 15 def load(self, tplname):
23 src, filename = self.check(tplname) 16 src, filename = self._find(tplname)
24 return RoundupPageTemplate(self.loader.load(src)) 17 return RoundupPageTemplate(self.loader.load(src))
25 18
26 class RoundupPageTemplate(object): 19 class RoundupPageTemplate(object):
27 def __init__(self, pt): 20 def __init__(self, pt):
28 self._pt = pt 21 self._pt = pt

Roundup Issue Tracker: http://roundup-tracker.org/