[z3-checkins] r20402 - z3/Five/branch/Five-1.2
efge at codespeak.net
efge at codespeak.net
Tue Nov 29 17:18:20 CET 2005
Author: efge
Date: Tue Nov 29 17:18:20 2005
New Revision: 20402
Modified:
z3/Five/branch/Five-1.2/CHANGES.txt
z3/Five/branch/Five-1.2/event.py
z3/Five/branch/Five-1.2/monkey.py
Log:
Added ``original`` parameter to ObjectCopiedEvent backported from
Zope 3.2.
Modified: z3/Five/branch/Five-1.2/CHANGES.txt
==============================================================================
--- z3/Five/branch/Five-1.2/CHANGES.txt (original)
+++ z3/Five/branch/Five-1.2/CHANGES.txt Tue Nov 29 17:18:20 2005
@@ -10,6 +10,9 @@
Restructuring
-------------
+* (b6) Added ``original`` parameter to ObjectCopiedEvent backported from
+ Zope 3.2
+
* (b4) Cleaned up security test.
* (b4) Made Five send a ContainerModifiedEvent when appropriate.
Modified: z3/Five/branch/Five-1.2/event.py
==============================================================================
--- z3/Five/branch/Five-1.2/event.py (original)
+++ z3/Five/branch/Five-1.2/event.py Tue Nov 29 17:18:20 2005
@@ -352,9 +352,10 @@
id = self._get_id(orig_id)
result.append({'id': orig_id, 'new_id': id})
+ orig_ob = ob
ob = ob._getCopy(self)
ob._setId(id)
- notify(ObjectCopiedEvent(ob))
+ notify(ObjectCopiedEvent(ob, orig_ob))
self._setObject(id, ob)
ob = self._getOb(id)
@@ -472,9 +473,10 @@
message=sys.exc_info()[1],
action='manage_main')
+ orig_ob = ob
ob = ob._getCopy(self)
ob._setId(id)
- notify(ObjectCopiedEvent(ob))
+ notify(ObjectCopiedEvent(ob, orig_ob))
self._setObject(id, ob)
ob = self._getOb(id)
Modified: z3/Five/branch/Five-1.2/monkey.py
==============================================================================
--- z3/Five/branch/Five-1.2/monkey.py (original)
+++ z3/Five/branch/Five-1.2/monkey.py Tue Nov 29 17:18:20 2005
@@ -74,12 +74,17 @@
BaseRequest.close = close
def zope3_monkey():
- """Fix Zope 3 to have the proper ContainerModifiedEvent that has
- been added for 3.2.
+ """Zope 3 monkeys to get some Zope 3.2 features.
+
+ - Added ContainerModifiedEvent.
+
+ - Added `original` parameter to ObjectCopiedEvent.
"""
+ import warnings
from zope.event import notify
from zope.interface import implements
from zope.app.event.objectevent import ObjectModifiedEvent
+ from zope.app.event.objectevent import ObjectCopiedEvent
from zope.app.event.interfaces import IObjectModifiedEvent
class IContainerModifiedEvent(IObjectModifiedEvent):
@@ -97,8 +102,20 @@
"""Notify that the container was modified."""
notify(ContainerModifiedEvent(object, *descriptions))
+ def ObjectCopiedEvent_init(self, object, original=None):
+ super(ObjectCopiedEvent, self).__init__(object)
+ self.original = original
+ # BBB goes away in 3.3
+ if original is None:
+ warnings.warn(
+ "%s with no original is deprecated and will no-longer "
+ "be supported starting in Zope 3.3."
+ % self.__class__.__name__,
+ DeprecationWarning, stacklevel=2)
+
from zope.app.container import contained
from zope.app.container import interfaces
interfaces.IContainerModifiedEvent = IContainerModifiedEvent
contained.ContainerModifiedEvent = ContainerModifiedEvent
contained.notifyContainerModified = notifyContainerModified
+ ObjectCopiedEvent.__init__ = ObjectCopiedEvent_init
More information about the z3-checkins
mailing list