Johan Carlsson wrote at 2003-7-17 18:36 +0200:
... I need to save a referens to a acquision wrapped object "Configure" in a object which at some point doesn't have it's own context (just a single wrapped object). ... Just assigning it to the attribute self._v_skinfolder=sf and the accessing it as self.skinfolder makes it contained in the object (aq_chain would say [<Skinfolder>, <Object>])
This is not the case: Only if an object is unwrapped, is the container of "AcquisitionWrapper(object,parent)" determined by "parent". Otherwise, its container is the container of object. To say it differently: The container of an acquisition wrapped object "o" is "o.aq_inner.aq_parent". If "o" is "AcquistionWrapper(self,parent)" with "self" unwrapped, then "o.aq_inner" is "o". Otherwise, "o.aq_inner" is "self.aq_inner".
... Is there anyway to make uncontained attributes of an object that inherits Acquisision.Implicit?
No, if the container is an "ExtensionClass" instance. Any "ExtensionClass" attribute lookup checks whether the looked up object has an "__of__" method and calls it in this case. The usual way to avoid this mechanism is to access the attribute via "self.__dict__['attribute']". Dieter