[Zope] getattr in Python Method problem

Dieter Maurer dieter@handshake.de
Mon, 27 Nov 2000 23:11:12 +0100 (CET)


Peter Bengtsson writes:
 > In the folder where dosomething_pym (Python Method) is located, is also a string property set called 'en' with the value 'English'
 > The Python Method object is called with no parameters, but is defined with the 'self' parameter inside the Python Method object.
 > 
 > In a DTML Method this works fine:
 > <dtml-var "_.getitem('en')">
 > and returns
 > "English"
 > 
 > This is what I try in the Python Method:
 > lang=getattr(self,'en')
 > 
 > but this raises an error!
 > Error Type: AttributeError
 > Error Value: validate
I have not yet seen a Python method specification.
Anyway, there are several Python method implementations around
that might be different in the relevant aspects.

Personnally, I would expect a bug in "getattr".
However, it might also be the case, that "self" is not
what we expect (and what it is for external methods:
the folder, the object is located in).

If you use a new version of Python Methods (now called Python Scripts),
then you might try "context" rather than "self".
I think, you can use it without the need to pass it as parameter.


Dieter