Hi, For some tests I have done : - Create about 5000 folders under the Root Zope Site - Inside those folders, I have created about 30 000 objects ( as document, just an id, title and a Type). - I've catalogued all inside a catalog named TheCatalog I have written just this function, in intend to test my CPU ( that why I've written it like this): allobject = context.TheCatalog.searchResults(Type='TypeTest') l=len(allobject) i = 0 #for i in range(len(allobject)): for object in allobject: #path = allobject[i].getPath() #course = allobject[i][0] path = allobject.getPath() course = allobject[0] thepath = string.split(path,'/') lepath = string.join(thepath[:-1],'/') lieu=context.restrictedTraverse(lepath) lieu.manage_delObjects(course) i+=1 return "Len: %s and Number parsed: %s" %(i,l) Phase A: I have 30 000 objects and the message following: Len: 30000 and Number parsed: 15001 In my catalog: 15000 object only were destroyed. !!! Phase 2: I de-comment my comment lines, but I've got the same message. I try to understand what it happens, but I can't. Anyone has a brillant idea? Sincerily PS -------------------------------------------------- Oreka ! Nous sommes l'internet moins cher ! Surfez 25% moins cher avec http://www.oreka.com
On Mon, 09 Feb 2004 15:07:42 +0100 Pascal Samuzeau <samuzeau@oreka.com> wrote:
Hi,
For some tests I have done :
- Create about 5000 folders under the Root Zope Site - Inside those folders, I have created about 30 000 objects ( as document, just an id, title and a Type). - I've catalogued all inside a catalog named TheCatalog
I have written just this function, in intend to test my CPU ( that why I've written it like this):
allobject = context.TheCatalog.searchResults(Type='TypeTest') l=len(allobject) i = 0 #for i in range(len(allobject)): for object in allobject: #path = allobject[i].getPath() #course = allobject[i][0] path = allobject.getPath() course = allobject[0]
The above three lines don't make sense to me. I have no idea with allobject.getPath() would return (by all indications it should be an error unless it acquires something named getPath). Also, allobject[0] is always the same thing, the first catalog result. allobject[i][0] doesn't make sense, the first item of the ith catalog result? I don't know what you would get from that (I'm surprised it's not an error).
thepath = string.split(path,'/') lepath = string.join(thepath[:-1],'/') lieu=context.restrictedTraverse(lepath) lieu.manage_delObjects(course) i+=1 return "Len: %s and Number parsed: %s" %(i,l)
What happens if you just do: i = 0 for obj in allobject: i += 1 return i ? -Casey
participants (2)
-
Casey Duncan -
Pascal Samuzeau