[Zope] odd behavior when External Method calls DTML Method

Thomas B. Passin tpassin@mitretek.org
Thu, 18 Apr 2002 18:32:57 -0400


[Dieter Maurer]

> Thomas B. Passin writes:
>  > > def ExternalMethod(self):
>  > >   ....
>  > This is not the correct way to write an external method.  First of all,
>  > Python does not have a "self" parameter or property.  The name is used,
by
>  > convention, in defining classes, and has nothing to do with function
>  > definitions.  Even though you may call it "self", it is just a
parameter to
>  > be passed in like any other.
> What you say is right for normal Python function but *wrong* for
> External Methods!
>
>   External Methods have some calling magic that depends on the
>   name of the first parameter. It must be "self" for the magic
>   to apply.
>

Yes, I went and looked at the description after posting my reply.  It was
clear from his reply that the original poster knew it, too - at least he
wasn't expecting normal Python behavior for a function def, which is what I
had originally assumed he was thinking.


> You find a description in the "External Method" section of
>
>   <http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html>
>

Even the help material that comes with Zope talks about it.

Tom P