[Zope3-Users] getUtilitiesFor without context

Tom Dossis td at yoma.com.au
Wed Jan 10 16:14:32 EST 2007


Florian Lindner wrote:
> Hello,
> I have some local utilites registered. Now I try to call them from a function 
> that don't have a context:
> 
>     utils = getUtilitiesFor(INewsfeed)
>     for i in utils:
>         print "Utility called:", i.__name__
>         i.sendNotification()
> 
> but that always deliver no utilities. How do get them without supplying a 
> context. (the function is called regularly from a scheduler object, therefore 
> it needs to be static)

I'm not sure what a 'scheduler object' is, but it sounds like you don't
have you don't have a current site.

You can confirm this with:

  from zope.app.component import hooks
  print hooks.getSite()
  # None

Use:
  # work out what your site
  hook.set(site)

before your util lookups.

regards,
-Tom


More information about the Zope3-users mailing list