[Cheetahtemplate-discuss] #def (bug?)
Brought to you by:
rtyler,
tavis_rudd
From: <rob...@ya...> - 2002-11-26 19:25:35
|
i just dont know if i have a bad day or if its just cheetah. tested on cheetah 0.15.a1 and 0.15.a3 EXAMPLE 1 >>> tdef1 = """ ... #for $element in $elems: ... $pelem($element) ... #end for ... #def pelem($element): ... ( $element ) ... #end def ... """ >>> mapper = {"elems": ["one", "two", "three"]} >>> print Template(tdef1, [mapper]) ( three ) EXAMPLE 2 >>> tdef1 = """ ... #def pelem($element): ... ( $element ) ... #end def ... #for $element in $elems: ... $pelem($element) ... #end for ... """ >>> mapper = {"elems": ["one", "two", "three"]} >>> print Template(tdef1, [mapper]) Traceback (most recent call last): File "<interactive input>", line 1, in ? File "Cheetah\Template.py", line 155, in __init__ self.compile(source, file) File "Cheetah\Template.py", line 244, in compile compiler.compile() File "Cheetah\Compiler.py", line 1085, in compile self.parse() File "Cheetah\Parser.py", line 1036, in parse self.eatDirective() File "Cheetah\Parser.py", line 1150, in eatDirective self.directiveEaters[directiveKey]() File "Cheetah\Parser.py", line 1671, in eatFor expr = self.getExpression() File "Cheetah\Parser.py", line 927, in getExpression self.addLocalVars(targetVars) File "Cheetah\Compiler.py", line 997, in __getattr__ raise AttributeError, name AttributeError: addLocalVars removing the ":" solves the problem in either version 1 or version 2. nevertheless i am confused. maybe the fact, that the ":" must be ommited should be more clearly communicated within the docs. but version one is really scary since it is so non intuitive. ciao robertj ------------------------------------------------------------ Robert Kuzelj Gaissacherstrasse 7 email: rob...@ya... 81371 Muenchen tel: 0177/5302230 the trinity of desirables of (software) architecture: Firmitas, Utilitas, Venustas (marcus vitruvius 20 BC) strength, utility, beauty |