This tries to implement something similar like here:
http://www.cheetahtemplate.org/docs/users_guide_html_multipage/inheritanceEtc.extends.html
so you have generic template with application
logic, organization specific layout and then
page specific code.
wembcode.py--------------------------------
from Cheetah.Template import Template
class wembcode(Template)
def __init__(self):
Template.__init__(self)
self.fish = 'pike'
-------------------------------------------
wemblate.tmpl------------------------------
#from wembcode import wembcode
#extends wembcode
#implements respond
foor $fish bar
-------------------------------------------
orgcode.py--------------------------------
from wemblate import wemblate
class orgcode(wemblate):
def __init__(self):
self.fish = 'shark'
pass
-------------------------------------------
orglate.tmpl ------------------------------
#from orgcode import orgcode
#extends orgcode
-------------------------------------------
pagecode.py -------------------------------
from org import orgcode
class pagecode(orgcode):
def __init__(self):
orgcode.__init__(self)
-------------------------------------------
page.tmpl----------------------------------
#extends pagecode
-------------------------------------------
% ./page.py
Traceback (most recent call last):
File "./page.py", line 130, in ?
CmdLineIface(templateObj=page()).run()
File "/usr/lib64/python2.3/site-packages/Cheetah/TemplateCmdLineIface.py", line 45, in run
print self._template
File "/usr/lib64/python2.3/site-packages/Cheetah/Template.py", line 990, in __str__
def __str__(self): return getattr(self, mainMethName)()
File "/srv/www/test/wemblate.py", line 88, in respond
_v = VFFSL(SL,"fish",True) # '$fish' on line 5, col 32
NameMapper.NotFound: cannot find 'fish'
$