All pastes #757858 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-01 18:11 UTC
rendered paste body
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'
$