| Newsgroups |
gmane.comp.python.cheetah |
| Message-ID |
<[email protected]> |
#def displayfloat($a)
$("%.2f"%$a)#slurp
#end def
#set showfloat = self.displayfloat
This doesnt work either
str(compiled_tmpl)
File "/usr/lib/python2.5/site-packages/Cheetah/Template.py", line 997, in
__str__
return getattr(self, mainMethName)()
File "<string>", line 3514, in respond
NotFound: cannot find 'showfloat' while searching for 'showfloat'
On Thu, May 21, 2009 at 3:52 PM, <[email protected]> wrote:
> #def displayfloat($a)
> $("%.2f"%$a)#slurp
> #end def
> *#set showfloat = $getVar('displayfloat', autoCall=False)*
>
> ## return a callable value for $name
> #def callable($name)
> #return $getVar($name, autoCall=False)
> #end def
>
> *#set showfloat =$callable('displayfloat')*
>
> both these options *dont *work
> return str(compiled_tmpl)
> File "/usr/lib/python2.5/site-packages/Cheetah/Template.py", line 997, in
> __str__
> return getattr(self, mainMethName)()
> File "<string>", line 3514, in respond
> NotFound: cannot find 'showfloat' while searching for 'showfloat'
>
>
>
> On Thu, May 21, 2009 at 2:57 PM, R. Tyler Ballance <[email protected]>wrote:
>
>> On Thu, May 21, 2009 at 02:55:50PM -0700, [email protected] wrote:
>> > #set $faa = self.foo
>> >
>> > This is cool calling with self. doesnt autocall
>>
>> It doesn't call because you're in the right hand operand (where you need
>> not use Cheetah syntax), and you're not using the '$'. When you use the $,
>> that invokes the NameMapper which is responsible for autocalling.
>>
>> I personally prefer this option to $getVar() which feels distinctly
>> non-Pythonic ;)
>>
>>
>> > On 5/20/09, Michael Higgins <[email protected]> wrote:
>> >
>> > On May 20, 2009, at 4:18 PM, R. Tyler Ballance wrote:
>> >
>> > I /think/ this should work:
>> > #set $faa = foo
>> >
>> > I'm not running the latest and greatest, but that doesn't work for
>> me.
>> > What *does* work for me is saying
>> >
>> > #set $faa = self.foo
>> >
>> > Exploiting self in such an unvarnished way seems like it might be
>> too
>> > close to relying on an implementation detail, but maybe it's okay.
>> I
>> > guess Cheetah already has to guarantee not to do name-mangling or
>> > something so that Python code can call Cheetah methods properly...
>> >
>> > Alternatively, you can use:
>> > #set $faa = $foo
>> >
>> > If you compile the templates with autocalling disabled
>> >
>> > Personally, I'm not a huge fan of tweaking the compile settings a
>> lot
>> > for different templates. It's just one more thing that can
>> mysteriously
>> > break and take a long time to figure out.
>> >
>> > To answer mobiledreamer's (later) question about what a wrapper
>> function
>> > would look like:
>> >
>> > ## return a callable value for $name
>> > #def F($name)
>> > #return $getVar($name, autoCall=False)
>> > #end def
>> >
>> > #set $faa = $F('foo')
>> >
>> > ... assuming the self trick isn't the preferable style. (It's
>> certainly
>> > shorter!)
>> >
>> > Mike
>> >
>> > --
>> > Bidegg worlds best auction site
>> > http://bidegg.com
>>
>> --
>> -R. Tyler Ballance
>> Slide, Inc.
>>
>
>
>
> --
> Bidegg worlds best auction site
> http://bidegg.com
>
--
Bidegg worlds best auction site
http://bidegg.com
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com
_______________________________________________
Cheetahtemplate-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss