[Zope] The immortal POSKeyError
Roché Compaan
roche at upfrontsystems.co.za
Mon Jul 19 15:27:35 EDT 2004
* george donnelly <list at zettai.net> [2004-07-19 21:09]:
> Roché Compaan <roche at upfrontsystems.co.za> on 7/17/04 wrote:
>
> >If you're lucky, it's just the ZODB index file that got corrupted, so
> >try deleting 'Data.fs.index', and hope it rebuilds itself correctly
> when
> >restarting. I probably don't have to tell you this but do it on a copy
> >of your instance.
>
> thanks but nope that's not it
Try removing the reference from the parent folder, without accessing the
bad object:
id = 'BadId'
folder._objects=tuple(filter(lambda i,n=id: i['id']!=n, folder._objects))
delattr(folder, id)
'manage_delObjects', calls '_getOb' to do additional checks before
deleting an object, and in your case this will give a POSKeyError.
You'll be left with a dangling reference, but at least siblings of the
bad folder will be accessible again.
--
Roché Compaan
Upfront Systems http://www.upfrontsystems.co.za
More information about the Zope
mailing list