El mié, 28-03-2007 a las 12:50 +0200, FB escribió:
> 
> You need a dispatcher - a quite common concept in zope3:
> 
> [events.py, not tested]
> from zope.event import notify
> 
> def removeIntId(event):
>       notify(event.object,event)
> 

I think the notify call should be like notify((event.object, event))

> def addIntId(event):
>       notify(event.object,event)
> 
> 
> 
> [configure.zcml, not tested]
>    [...]
>       <subscriber for="zope.app.intid.interfaces.IntIdAddedEvent"
>               handler=".event.addIntId"
>       />
>       <subscriber for="zope.app.intid.interfaces.IntIdRemovedEvent"
>               handler=".events.removeIntId"
>       />
>    [...]
> 
Ok, the removeIntId function is called and it dispatch the event through
the notify call.

Then, my original subscriber, e.g.:

<subscriber for=".interfaces.IMyInterface
                 zope.app.intid.interfaces.IIntIdRemovedEvent"
            handler=".events.myInterfaceIntIdRemovedSubscriber"
/>

is still not called. I have checked that in the removeIntId subscriber
the object in event.object provides IMyInterface, but this makes no
difference.

Anyway, thanks for this answer (and all the other answer you gave me
before) :-)

Regards,

Lorenzo

_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to