> I have a set of (python, Folder derived) objects, which are children of
> a Folder derived python class. Each of these in turn has another,
> related python object.
> When I access /a/ab1, I want b1 inserted into the acquisition hierarchy
> between a and ab1. I've done this with __bobo_traverse__, but that
> doesn't help when you access ab1 as an attribute of a, such as when
> using objectValues(). So I thought I would try overriding __of__, like
> so in the ab class:
> def __of__(self, parent):
> wparent = self._b.__of__(parent)
> return Folder.Folder.__of__(self, wparent)
> But that doesn't work, I get this error on the return line:
> Error Type: TypeError
> Error Value: unbound C method must be called with Acquirer 1st
> Any ideas? I'm pretty confused.
You need to use the 'inheritedAttribute' method for an
ExtensionClass to call a superclass method that you
have overridden. Try the following (where 'myABClass'
is the name of your class implmenting this __of__ method):
def __of__(self, parent):
wparent = self._b.__of__(parent)
return myABClass.inheritedAttribute('__of__')(self, wparent)
Hope this helps!
Brian Lloyd [EMAIL PROTECTED]
Software Engineer 540.371.6909
Digital Creations http://www.digicool.com
Zope maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -