[Zope-dev] fail loading persistentregistry
Jean-François Roche
jfroche at jfroche.be
Wed Jun 24 08:14:20 EDT 2009
Hello,
Within zope2 (2.10.6) I can't load the pickle containing the
persistentregistry any more because I removed a product that has
persistent adatpers. So I am having a state that looks like this:
{'LookupClass': <class
'five.localsitemanager.registry.FiveVerifyingAdapterLookup'>,
'__bases__': (<zope.component.globalregistry.GlobalAdapterRegistry
object at 0x7f38ad2f6bd0>,),
'__parent__': <PersistentComponents /m00019/prsi>,
'_adapters': [{<InterfaceClass
Products.ATContentTypes.interface.interfaces.IATCTTool>: {u'': <ATCTTool
at portal_atct>},
<InterfaceClass
Products.CMFActionIcons.interfaces._tools.IActionIconsTool>: {u'':
<ActionIconsTool at portal_actionicons>},
<class
'clearwind.arecibo.interfaces.IAreciboConfiguration'>:
{u'Arecibo_config': <AreciboConfiguration at broken>},
<InterfaceClass
plone.app.i18n.locales.interfaces.IContentLanguages>: {u'':
<ContentLanguages at plone_app_content_languages>},
...]
'_generation': ...,
'_provided': ...,
'_subscribers': ...,
}
Clearly this registry is in bad shape because of the reference to the
broken interface. What are my options to remove the reference within
this pickle ?
Would it be possible disable/remove (before setstate) the broken class
from the registry (with a huge warning) instead of letting the user get
a "AttributeError: type object 'IAreciboConfiguration' has no attribute
'__iro__' exception" later on when the adapter is looked up ?
Thanks in advance,
Jeff
More information about the Zope-Dev
mailing list