[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