Chris Withers wrote:
I have something like this:
for brain in Catalog(some_index=some_value): # delete the object, and then Catalog.uncatalog_object(brain.getPath())
...which wasn't deleting all objects where some_index=some_value.
On a hunch, I tried:
for brain in tuple(Catalog(some_index=some_value)): # delete the object, and then Catalog.uncatalog_object(brain.getPath())
...which magically worked.
Surely the thing returned by a Catalog search should be immutable?
Nope, it is "lazy"; immutability would require "realizing" it first, which would be prohibitively expensive in many cases. Wrapping 'list()' around the result set would've worked, too. Tres. -- =============================================================== Tres Seaver tseaver@zope.com Zope Corporation "Zope Dealers" http://www.zope.com