[Zope3-checkins] CVS: Zope3/src/zope/app/services - hub.py:1.18
Jim Fulton
jim@zope.com
Sat, 12 Jul 2003 05:37:19 -0400
Update of /cvs-repository/Zope3/src/zope/app/services
In directory cvs.zope.org:/tmp/cvs-serv26352
Modified Files:
hub.py
Log Message:
Quick hack to make sure we *only* register on add events
and not on extending events like move events.
We still need to sort out move semantics. We certainly don't
have it correct now.
=== Zope3/src/zope/app/services/hub.py 1.17 => 1.18 ===
--- Zope3/src/zope/app/services/hub.py:1.17 Fri Jul 11 01:50:46 2003
+++ Zope3/src/zope/app/services/hub.py Sat Jul 12 05:37:14 2003
@@ -53,6 +53,7 @@
from zope.app.interfaces.content.folder import IFolder
from zope.app.interfaces.traversing import ITraversable
from zope.app.services.servicenames import HubIds
+from zope.app.event.objectevent import ObjectAddedEvent
from zope.app.traversing import traverse, traverseName, getPath, getRoot
from zope.app.interfaces.services.hub import ObjectHubError
@@ -411,8 +412,15 @@
def notify(wrapped_self, event):
"""An event occured. Perhaps register this object with the hub."""
- hub = getService(wrapped_self, HubIds)
- wrapped_self._registerObject(event.location, hub)
+
+ # XXX quick hack to make sure we *only* register on add events
+ # and not on extending events like move events.
+ # We still need to sort out move semantics. We certainly don't
+ # have it correct now.
+
+ if event.__class__ is ObjectAddedEvent:
+ hub = getService(wrapped_self, HubIds)
+ wrapped_self._registerObject(event.location, hub)
notify = ContextMethod(notify)
currentlySubscribed = False # Default subscription state