Dragos Chirila wrote:
Hi
I am doing something similarly.
def __searchCatalog(self, p_criteria): """Search catalog""" return self.__catalog(p_criteria)
This returns a list of mybrains objects.
def __getFoundObjects(self, p_list): """gets objects from catalog results""" return map(self.__catalog.getobject, map(getattr, p_list, ('data_record_id_',)*len(p_list)))
It gets a list of mybrains objects and returns a list of zope objects.
Hmm! I think that is a questionable approach. If an object is in the catalog, but has been deleted from the ZODB, you will get an error. I have had this happen a few times, and it is irritating. I don't know how it can happen. Perhaps poorly written products can do it. I dont remember. This approach should be failsafe result = [] for brain in brains: try: obj = brain.getObject() result.append(obj) except: # Will probably raise AttributeError on None object pass -- hilsen/regards Max M, Denmark http://www.mxm.dk/ IT's Mad Science