Re: #def woes

[email protected]
Newsgroups gmane.comp.python.cheetah
Message-ID <[email protected]>
#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

------------------------------------------------------------------------------
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.