On 3 Jul 2002, at 20:14, Dieter Maurer wrote:
It probably looks somehow like this:
def addMyProduct(self,id): myInstance= MyProduct() myInstance._setId(id) self._setObject(id,myInstance) # you add here myInstance= getattr(self,id) # to acquisition wrap it childFolder= Folder() childFolder._setId('some_nice_id') myInstance._setObject('some_nice_id',childFolder) # here continues your previous code.
What is the purpose of myInstance._setId(id)? Is it necessary? In SimpleItem, it doesn't anything but self.__name__=id. Most products don't use _setId, the Developers Guide doesn't even mention it, but just contains the IMHO somewhat cryptic sentence about OFS.SimpleItem: id or __name__ All Item instances must have an id string attribute which uniquely identifies the instance within it's container. As an alternative you may use __name__ instead of id. Now _setObject in ObjectManager already adds a string attribute named "id". So in fact _setId seems redundant and should be eleminated from the API. Ugly. -- Wolfgang Strobl