12.03.2011 10:37, Tomer Filiba kirjoitti:
not on special (slot) methods, alex. slot methods are contained inside
the type for efficiency, their invocation does not go through
__getattr__/__getattribute__.
Which is exactly what the docs I linked to say. I was being too broad
when I said that "all" attribute access goes through it. If IronPython
does things differently, it is deviating from the spec.
consider this code:
>>> class C(object):
... def __getattribute__(self, x):
... return 17
... def __str__(self):
... return "hello"
...
>>> x=C()
>>> str(x)
'hello'
>>> x.__str__
17
it seems ironpython has a different object model.
jerome -- thank you very much for the fix :)
-tomer
An NCO and a Gentleman
2011/3/12 Alex Grönholm <[email protected]
<mailto:[email protected]>>
12.03.2011 08:04, delattj kirjoitti:
I got it working with this fix:
https://github.com/delattj/rpyc/commit/5d2fd956e550eb177e708aa06463827b3d860cf9
But I don't get it... :/
Seems __call__ goes through the __getattribute__ method in
IronPython.
What's strange about that? __getattribute__ is called on all
attribute access -- that is how it's documented here:
http://docs.python.org/reference/datamodel.html#object.__getattribute__