Peter Bengtsson wrote at 2006-12-4 11:52 +0000: > ... >If I try to do it in code like this:: > > def _uploadPhoto(self, file): > adder = self.manage_addProduct['Photo'].manage_addPhoto > adder('photo', '', file, **photo_settings) > >Then I get this error:: > > ... > File "/home/peterbe/zope/zope288/Products/Mest/ProductPhotoBase.py", >line 122, in uploadPhoto > self._addProductPhoto(photo_id, unicodify(comment).strip(), photofile) > File "/home/peterbe/zope/zope288/Products/Mest/ProductPhotoBase.py", >line 130, in _addProductPhoto > photo_adder = self.manage_addProduct['Photo'].manage_addPhoto > File >"/home/peterbe/zope/zope288/lib/python/App/FactoryDispatcher.py", line >26, in __getitem__ > return self.__bobo_traverse__(None, name) > File >"/home/peterbe/zope/zope288/lib/python/App/FactoryDispatcher.py", line >29, in __bobo_traverse__ > product=self.aq_acquire('_getProducts')()._product(name) >AttributeError: LazyMap instance has no attribute '_product'
Apparently, something at or above your "Collection" instance defines a "_getProducts" -- as something to return a catalog search result. Now, "_getProducts" is assumed to be provided by the Zope application object and not by any intermediate instance. As you see, Zope's product accessing breaks when this requirement is violated. Identify the "_getProducts" and rename it. -- Dieter _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )