[Zope] Acquisition not working as expected
Dieter Maurer
dieter at handshake.de
Fri Mar 3 19:15:48 EST 2006
Roman Klesel wrote at 2006-3-3 10:26 +0100:
> ...
>Yes, this is what I understood (at least I think so) now. So the question is:
>
>How will the method find out what object I want it to operate on if I call it in this way
>
>context/genGraphs or objref/genGraphs
It cannot.
It works for a PythonScript because in this case you acquire
an object (and not a method) and then call its method ("__call__").
The difference is that an object is acquired, not a method.
You can try to arrange things this way even with classes defined
in products:
You define a new class "WC", derived from "Implicit".
Its "__call__" method does, what you would like to happen.
In "__call__", you access the acquisition context with
"self.aq_parent".
In your class "C", you instantiate "WC":
test3 = WC()
You can then acquire "test3" (it now is an object, no longer
a method) and call it. In "test3.__call__", "self.aq_parent"
will be the object, from which you acquired "test3".
--
Dieter
More information about the Zope
mailing list