Skip to content

Commit

Permalink
get rid of redundant Event at the end of event names
Browse files Browse the repository at this point in the history
  • Loading branch information
mcdonc committed Apr 15, 2012
1 parent dc79c74 commit 7743374
Show file tree
Hide file tree
Showing 11 changed files with 96 additions and 93 deletions.
3 changes: 3 additions & 0 deletions TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ Guts-Only

- Bake ACLs into the object map.

- Emit an ObjectMoving event rather than removed event with a moving flag,
then an add event?

Nice-to-Have Features
---------------------

Expand Down
10 changes: 5 additions & 5 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -151,23 +151,23 @@ Other Helpers

.. automodule:: substanced.event

.. autoclass:: ObjectAddedEvent
.. autoclass:: ObjectAdded
:members:
:inherited-members:

.. autoclass:: ObjectWillBeAddedEvent
.. autoclass:: ObjectWillBeAdded
:members:
:inherited-members:

.. autoclass:: ObjectRemovedEvent
.. autoclass:: ObjectRemoved
:members:
:inherited-members:

.. autoclass:: ObjectWillBeRemovedEvent
.. autoclass:: ObjectWillBeRemoved
:members:
:inherited-members:

.. autoclass:: ObjectModifiedEvent
.. autoclass:: ObjectModified
:members:
:inherited-members:

Expand Down
18 changes: 9 additions & 9 deletions substanced/catalog/subscribers.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

from ..interfaces import (
ICatalogable,
IObjectAddedEvent,
IObjectWillBeRemovedEvent,
IObjectModifiedEvent,
IObjectAdded,
IObjectWillBeRemoved,
IObjectModified,
)

from ..service import find_service
Expand All @@ -16,10 +16,10 @@
oid_of,
)

@subscriber([Interface, IObjectAddedEvent])
@subscriber([Interface, IObjectAdded])
def object_added(obj, event):
""" Index an object and and its children in the closest catalog; an
IObjectAddedEvent event subscriber. Depends upon
IObjectAdded event subscriber. Depends upon
substance.objectmap.object_will_be_added to have been fired
before this gets fired to assign an __objectid__ to the object.
"""
Expand All @@ -31,10 +31,10 @@ def object_added(obj, event):
objectid = oid_of(node)
objectid = catalog.index_doc(objectid, node)

@subscriber([Interface, IObjectWillBeRemovedEvent])
@subscriber([Interface, IObjectWillBeRemoved])
def object_will_be_removed(obj, event):
""" Unindex an object and its children in the closest catalog; an
IObjectWillBeRemovedEvent event subscriber"""
:class:`substanced.event.ObjectWillBeRemoved` event subscriber"""
objectmap = find_service(obj, 'objectmap')
catalog = find_service(obj, 'catalog')
if objectmap is None or catalog is None:
Expand All @@ -43,10 +43,10 @@ def object_will_be_removed(obj, event):
for oid in BTrees.family32.IF.intersection(objectids, catalog.objectids):
catalog.unindex_doc(oid)

@subscriber([Interface, IObjectModifiedEvent])
@subscriber([Interface, IObjectModified])
def object_modified(obj, event):
""" Reindex a single object (non-recursive) in the closest catalog; an
ObjectModifedEvent event subscriber """
:class:`substanced.event.ObjectModifed` event subscriber """
objectid = oid_of(obj)
catalog = find_service(obj, 'catalog')
if catalog is not None:
Expand Down
30 changes: 15 additions & 15 deletions substanced/event.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from zope.interface import implementer

from .interfaces import (
IObjectAddedEvent,
IObjectWillBeAddedEvent,
IObjectRemovedEvent,
IObjectWillBeRemovedEvent,
IObjectModifiedEvent,
IObjectAdded,
IObjectWillBeAdded,
IObjectRemoved,
IObjectWillBeRemoved,
IObjectModified,
)

class _ObjectEvent(object):
Expand All @@ -14,12 +14,12 @@ def __init__(self, object, parent, name):
self.parent = parent
self.name = name

@implementer(IObjectAddedEvent)
class ObjectAddedEvent(_ObjectEvent):
@implementer(IObjectAdded)
class ObjectAdded(_ObjectEvent):
""" An event sent just after an object has been added to a folder. """

@implementer(IObjectWillBeAddedEvent)
class ObjectWillBeAddedEvent(_ObjectEvent):
@implementer(IObjectWillBeAdded)
class ObjectWillBeAdded(_ObjectEvent):
""" An event sent just before an object has been added to a folder. """

class _ObjectRemovalEvent(object):
Expand All @@ -29,16 +29,16 @@ def __init__(self, object, parent, name, moving=False):
self.name = name
self.moving = moving

@implementer(IObjectRemovedEvent)
class ObjectRemovedEvent(_ObjectRemovalEvent):
@implementer(IObjectRemoved)
class ObjectRemoved(_ObjectRemovalEvent):
""" An event sent just after an object has been removed from a folder."""

@implementer(IObjectWillBeRemovedEvent)
class ObjectWillBeRemovedEvent(_ObjectRemovalEvent):
@implementer(IObjectWillBeRemoved)
class ObjectWillBeRemoved(_ObjectRemovalEvent):
""" An event sent just before an object has been removed from a folder."""

@implementer(IObjectModifiedEvent)
class ObjectModifiedEvent(object): # pragma: no cover
@implementer(IObjectModified)
class ObjectModified(object): # pragma: no cover
""" An event sent when an object has been modified."""
def __init__(self, object):
self.object = object
28 changes: 14 additions & 14 deletions substanced/folder/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
)

from ..event import (
ObjectAddedEvent,
ObjectWillBeAddedEvent,
ObjectRemovedEvent,
ObjectWillBeRemovedEvent,
ObjectAdded,
ObjectWillBeAdded,
ObjectRemoved,
ObjectWillBeRemoved,
)

from ..content import content
Expand Down Expand Up @@ -157,9 +157,9 @@ def __setitem__(self, name, other):
:exc:`KeyError`.
When this method is called, emit an
:class:`substanced.event.ObjectWillBeAddedEvent` event before the
:class:`substanced.event.ObjectWillBeAdded` event before the
object obtains a ``__name__`` or ``__parent__`` value. Emit an
:class:`substanced.event.ObjectAddedEvent` after the object obtains a
:class:`substanced.event.ObjectAdded` after the object obtains a
``__name__`` and ``__parent__`` value.
"""
return self.add(name, other)
Expand Down Expand Up @@ -221,7 +221,7 @@ def add(self, name, other, send_events=True, allow_services=False):
name = self.check_name(name, allow_services)

if send_events:
event = ObjectWillBeAddedEvent(other, self, name)
event = ObjectWillBeAdded(other, self, name)
self._notify(event)

other.__parent__ = self
Expand All @@ -234,7 +234,7 @@ def add(self, name, other, send_events=True, allow_services=False):
self._order += (name,)

if send_events:
event = ObjectAddedEvent(other, self, name)
event = ObjectAdded(other, self, name)
self._notify(event)

def pop(self, name, default=marker):
Expand All @@ -250,9 +250,9 @@ def pop(self, name, default=marker):
remove its ``__parent__`` and ``__name__`` values.
When this method is called, emit an
:class:`substanced.event.ObjectWillBeRemovedEvent` event before the
:class:`substanced.event.ObjectWillBeRemoved` event before the
object loses its ``__name__`` or ``__parent__`` values. Emit an
:class:`substanced.event.ObjectRemovedEvent` after the object loses its
:class:`substanced.event.ObjectRemoved` after the object loses its
``__name__`` and ``__parent__`` value,
"""
try:
Expand Down Expand Up @@ -282,9 +282,9 @@ def __delitem__(self, name):
remove its ``__parent__`` and ``__name__`` values.
When this method is called, emit an
:class:`substanced.event.ObjectWillBeRemovedEvent` event before the
:class:`substanced.event.ObjectWillBeRemoved` event before the
object loses its ``__name__`` or ``__parent__`` values. Emit an
:class:`substanced.event.ObjectRemovedEvent` after the object loses
:class:`substanced.event.ObjectRemoved` after the object loses
its ``__name__`` and ``__parent__`` value,
"""
return self.remove(name)
Expand All @@ -300,7 +300,7 @@ def remove(self, name, send_events=True, moving=False):
other = self.data[name]

if send_events:
event = ObjectWillBeRemovedEvent(other, self, name, moving)
event = ObjectWillBeRemoved(other, self, name, moving)
self._notify(event)

if hasattr(other, '__parent__'):
Expand All @@ -316,7 +316,7 @@ def remove(self, name, send_events=True, moving=False):
self._order = tuple([x for x in self._order if x != name])

if send_events:
event = ObjectRemovedEvent(other, self, name, moving)
event = ObjectRemoved(other, self, name, moving)
self._notify(event)

return other
Expand Down
48 changes: 24 additions & 24 deletions substanced/folder/tests/test_folder.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@ def test___setitem__empty(self):

def test___setitem__(self):
from ...interfaces import IObjectEvent
from ...interfaces import IObjectWillBeAddedEvent
from ...interfaces import IObjectAddedEvent
from ...interfaces import IObjectWillBeAdded
from ...interfaces import IObjectAdded
events = []
def listener(object, event):
events.append(event)
Expand All @@ -115,11 +115,11 @@ def listener(object, event):
folder['a'] = dummy
self.assertEqual(folder._num_objects(), 1)
self.assertEqual(len(events), 2)
self.failUnless(IObjectWillBeAddedEvent.providedBy(events[0]))
self.failUnless(IObjectWillBeAdded.providedBy(events[0]))
self.assertEqual(events[0].object, dummy)
self.assertEqual(events[0].parent, folder)
self.assertEqual(events[0].name, 'a')
self.failUnless(IObjectAddedEvent.providedBy(events[1]))
self.failUnless(IObjectAdded.providedBy(events[1]))
self.assertEqual(events[1].object, dummy)
self.assertEqual(events[1].parent, folder)
self.assertEqual(events[1].name, 'a')
Expand Down Expand Up @@ -151,8 +151,8 @@ def test_check_name(self):

def test_add_send_events(self):
from ...interfaces import IObjectEvent
from ...interfaces import IObjectWillBeAddedEvent
from ...interfaces import IObjectAddedEvent
from ...interfaces import IObjectWillBeAdded
from ...interfaces import IObjectAdded
events = []
def listener(object, event):
events.append(event)
Expand All @@ -163,11 +163,11 @@ def listener(object, event):
folder.add('a', dummy, send_events=True)
self.assertEqual(folder._num_objects(), 1)
self.assertEqual(len(events), 2)
self.failUnless(IObjectWillBeAddedEvent.providedBy(events[0]))
self.failUnless(IObjectWillBeAdded.providedBy(events[0]))
self.assertEqual(events[0].object, dummy)
self.assertEqual(events[0].parent, folder)
self.assertEqual(events[0].name, 'a')
self.failUnless(IObjectAddedEvent.providedBy(events[1]))
self.failUnless(IObjectAdded.providedBy(events[1]))
self.assertEqual(events[1].object, dummy)
self.assertEqual(events[1].parent, folder)
self.assertEqual(events[1].name, 'a')
Expand Down Expand Up @@ -204,8 +204,8 @@ def test___setitem__exists(self):

def test___delitem__(self):
from ...interfaces import IObjectEvent
from ...interfaces import IObjectRemovedEvent
from ...interfaces import IObjectWillBeRemovedEvent
from ...interfaces import IObjectRemoved
from ...interfaces import IObjectWillBeRemoved
events = []
def listener(object, event):
events.append(event)
Expand All @@ -218,8 +218,8 @@ def listener(object, event):
del folder['a']
self.assertEqual(folder._num_objects(), 0)
self.assertEqual(len(events), 2)
self.failUnless(IObjectWillBeRemovedEvent.providedBy(events[0]))
self.failUnless(IObjectRemovedEvent.providedBy(events[1]))
self.failUnless(IObjectWillBeRemoved.providedBy(events[0]))
self.failUnless(IObjectRemoved.providedBy(events[1]))
self.assertEqual(events[0].object, dummy)
self.assertEqual(events[0].parent, folder)
self.assertEqual(events[0].name, 'a')
Expand All @@ -242,8 +242,8 @@ def test_remove_returns_object(self):

def test_remove_send_events(self):
from ...interfaces import IObjectEvent
from ...interfaces import IObjectRemovedEvent
from ...interfaces import IObjectWillBeRemovedEvent
from ...interfaces import IObjectRemoved
from ...interfaces import IObjectWillBeRemoved
events = []
def listener(object, event):
events.append(event)
Expand All @@ -256,8 +256,8 @@ def listener(object, event):
folder.remove('a', send_events=True)
self.assertEqual(folder._num_objects(), 0)
self.assertEqual(len(events), 2)
self.failUnless(IObjectWillBeRemovedEvent.providedBy(events[0]))
self.failUnless(IObjectRemovedEvent.providedBy(events[1]))
self.failUnless(IObjectWillBeRemoved.providedBy(events[0]))
self.failUnless(IObjectRemoved.providedBy(events[1]))
self.assertEqual(events[0].object, dummy)
self.assertEqual(events[0].parent, folder)
self.assertEqual(events[0].name, 'a')
Expand Down Expand Up @@ -289,8 +289,8 @@ def listener(object, event):

def test_remove_moving(self):
from ...interfaces import IObjectEvent
from ...interfaces import IObjectRemovedEvent
from ...interfaces import IObjectWillBeRemovedEvent
from ...interfaces import IObjectRemoved
from ...interfaces import IObjectWillBeRemoved
events = []
def listener(object, event):
events.append(event) #pragma NO COVER
Expand All @@ -305,8 +305,8 @@ def listener(object, event):
self.failIf(hasattr(dummy, '__parent__'))
self.failIf(hasattr(dummy, '__name__'))
self.assertEqual(len(events), 2)
self.failUnless(IObjectWillBeRemovedEvent.providedBy(events[0]))
self.failUnless(IObjectRemovedEvent.providedBy(events[1]))
self.failUnless(IObjectWillBeRemoved.providedBy(events[0]))
self.failUnless(IObjectRemoved.providedBy(events[1]))
self.assertEqual(events[0].object, dummy)
self.assertEqual(events[0].parent, folder)
self.assertEqual(events[0].name, 'a')
Expand Down Expand Up @@ -359,8 +359,8 @@ def test_remove_with_order_removes_name(self):

def test_pop_success(self):
from ...interfaces import IObjectEvent
from ...interfaces import IObjectRemovedEvent
from ...interfaces import IObjectWillBeRemovedEvent
from ...interfaces import IObjectRemoved
from ...interfaces import IObjectWillBeRemoved
dummy = DummyModel()
dummy.__parent__ = None
dummy.__name__ = None
Expand All @@ -373,8 +373,8 @@ def listener(object, event):
self.assertEqual(result, dummy)
self.assertEqual(folder._num_objects(), 0)
self.assertEqual(len(events), 2)
self.failUnless(IObjectWillBeRemovedEvent.providedBy(events[0]))
self.failUnless(IObjectRemovedEvent.providedBy(events[1]))
self.failUnless(IObjectWillBeRemoved.providedBy(events[0]))
self.failUnless(IObjectRemoved.providedBy(events[1]))
self.assertEqual(events[0].object, dummy)
self.assertEqual(events[0].parent, folder)
self.assertEqual(events[0].name, 'a')
Expand Down
Loading

0 comments on commit 7743374

Please sign in to comment.