Mercurial > p > roundup > code
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 |
