[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