Re: [Zope] How to join/add ZCatalog.searchResults?
At 14:31 15/10/99 , Michael Gutmann wrote:
<...>
Try: title_search[:] + data_search[:]. The result object from a Catalog query supports slicing, and this also works when there is only one result (because then the returned set is just a python list).
ZCatalog uses an object that avoids loading the whole result list into memory if it possibly can help it. Above solution will completely destroy this effort of course.
-- Martijn Pieters, Web Developer
Hmm, no chance, Zope complains with:
Error Type: MemoryError Error Value:
that seems to be raised by the controlling method you mentioned
File /www/WWW/Zope/2.0.1/lib/python/DocumentTemplate/DT_Util.py, line 170, in careful_getslice File /www/WWW/Zope/2.0.1/lib/python/Products/ZCatalog/Lazy.py, line 109, in __getslice__ MemoryError: (see above)
and there ist only one item in each searchResult. Are the searchResult objects that big, that there has to be such a restriction?
Whoops. That's because the __getslice__ method is being called with sys.maxint. I didn't consult the Python language reference on this. Right, try this: title_search[:len[title_search]] + data_search[:len[data_search]] -- Martijn Pieters, Web Developer | Antraciet http://www.antraciet.nl | Tel: +31-35-7502100 Fax: +31-35-7502111 | mailto:mj@antraciet.nl http://www.antraciet.nl/~mj | PGP: http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0xA8A32149 ------------------------------------------
Thanks a lot, this helped with a little correction.
Whoops. That's because the __getslice__ method is being called with sys.maxint. I didn't consult the Python language reference on this. Right, try this:
title_search[:len[title_search]] + data_search[:len[data_search]]
_.len(title_search) _.len(data_search) else Zope complains with a name error because of "len". But this was a minor problem to figure out ;-)) Michael Gutmann gutmann@uni-duesseldorf.de
participants (2)
-
Martijn Pieters -
Michael Gutmann