[Zope3-dev] perhabs good news!

Anthony Baxter Anthony Baxter <anthony@interlink.com.au>
Mon, 14 Jul 2003 13:23:30 +1000


>>> Stephan Richter wrote
> Can you actually show me the piece of code that subscribes the ObjectHub to 
> ObjectModifiedEvent, ObjectMovedEvent and ObjectDeletedEvent?

Put a pdb.set_trace() in event/subs.py:Subscribable.subscribe, create
a new Data.fs. bt shows:

(Pdb) bt
  /home/anthony/src/zope/Zope3Head/z3.py(67)?()
-> run()
  /home/anthony/src/zope/Zope3Head/z3.py(63)run()
-> main(argv[1:])
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/main.py(56)main()
-> setup(args)
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/main.py(90)setup()
-> publish(None, event.DatabaseOpened(db))
  /home/anthony/src/zope/Zope3Head/src/zope/app/event/__init__.py(29)publish()
-> return getEventService(context).publish(event)
  /home/anthony/src/zope/Zope3Head/src/zope/app/event/globalservice.py(236)globalNotifyOrPublish()
-> queryAdapter(subscriber, ISubscriber).notify(event)
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/bootstrap.py(83)notify()
-> self.doSetup()
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/bootstrap.py(143)doSetup()
-> name = self.ensureService(HubIds, ObjectHub)
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/bootstrap.py(113)ensureService()
-> service_factory, **kw)
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/bootstrap.py(178)addConfigureService()
-> configureService(root_folder, service_type, name)
  /home/anthony/src/zope/Zope3Head/src/zope/app/process/bootstrap.py(214)configureService()
-> registration.status = initial_status
  /home/anthony/src/zope/Zope3Head/src/zope/app/services/registration.py(91)__set__()
-> registry.activate(registration)
  /home/anthony/src/zope/Zope3Head/src/zope/app/services/registration.py(212)activate()
-> registration.activated()
  /home/anthony/src/zope/Zope3Head/src/zope/app/services/service.py(291)activated()
-> service.bound(self.name)
  /home/anthony/src/zope/Zope3Head/src/zope/app/services/event.py(199)bound()
-> clean_self._subscribeToServiceFilter
  /home/anthony/src/zope/Zope3Head/src/zope/app/services/event.py(170)subscribe()
-> return zapi.ContextSuper(ServiceSubscriberEventChannel, wrapped_self
> /home/anthony/src/zope/Zope3Head/src/zope/app/event/subs.py(96)subscribe()
-> pdb.set_trace()
  /usr/local/lib/python2.3/pdb.py(992)set_trace()->None
-> Pdb().set_trace()
(Pdb) p reference
<zope.app.services.hub.ObjectHub object at 0x40f5089c>
(Pdb) p event_type
<InterfaceClass zope.app.interfaces.event.IEvent at 406d70ac>