[Zope3-Users] IntID utility not found

Bernd Dorn zope-mailinglist at mopa.at
Mon Jun 12 04:16:46 EDT 2006


On 11.06.2006, at 23:39, Florian Lindner wrote:

> Hello,
> suddenly I get this error, the code used to work....
>
>   File "/home/xgmde/Zope3//lib/python/zope/component/_api.py", line  
> 207, in
> getUtility
>     raise ComponentLookupError(interface, name)
> ComponentLookupError: (<InterfaceClass  
> zope.app.intid.interfaces.IIntIds>, '')
>
> The problem is clear but it should not appear. It occurs upon  
> adding my
> object. This object performs some initializations:
>
>
> def onObjectAdded(event):
>     if IXGM.providedBy(event.object):
>         if not ISite.providedBy(event.object):
>             # Make it a site
>             xgm = event.object
>             site_manager = LocalSiteManager(xgm)
>             xgm.setSiteManager(site_manager)
>
>             intid = ensureUtility(xgm, IIntIds, '', IntIds ,  
> asObject = True)
>
>             cat = ensureUtility(xgm, ICatalog, '', Catalog,  
> asObject = True)
>
>             abbr_index = TextIndex("abbreviation", IAbbreviation)
>             cat["AbbreviationIndex"] = abbr_index
>
>

i think you have to set the site after you have made your object a site

from zope.app.component import hooks
hooks.setSite(xgm)

Regards, Bernd



> When I trace into that I can see that the intid is really created  
> and also at
> the correct place.
>
> When I comment the catalog creation out it works and I can add the  
> catalog
> with the ZMI without any problems. But why does it not find the  
> IntID utility
> when created from code?
>
> Anyone knows whats wrong?
>
>
> Thanks,
>
> Florian
> _______________________________________________
> Zope3-users mailing list
> Zope3-users at zope.org
> http://mail.zope.org/mailman/listinfo/zope3-users



More information about the Zope3-users mailing list