summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/event.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/event.py')
-rw-r--r--lib/sqlalchemy/event.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/sqlalchemy/event.py b/lib/sqlalchemy/event.py
index f28f19ee9..de054b0fd 100644
--- a/lib/sqlalchemy/event.py
+++ b/lib/sqlalchemy/event.py
@@ -201,11 +201,9 @@ def _remove_dispatcher(cls):
del _registrars[k]
-class Events(object):
+class Events(object, metaclass=_EventMeta):
"""Define event listening functions for a particular target type."""
- __metaclass__ = _EventMeta
-
@classmethod
def _accept_with(cls, target):
# Mapper, ClassManager, Session override this to
@@ -302,7 +300,7 @@ class _DispatchDescriptor(object):
def clear(self):
"""Clear all class level listeners"""
- for dispatcher in self._clslevel.values():
+ for dispatcher in list(self._clslevel.values()):
dispatcher[:] = []
def for_modify(self, obj):
@@ -377,7 +375,7 @@ class _EmptyListener(object):
def __iter__(self):
return iter(self.parent_listeners)
- def __nonzero__(self):
+ def __bool__(self):
return bool(self.parent_listeners)
@@ -414,7 +412,7 @@ class _CompoundListener(object):
def __iter__(self):
return chain(self.parent_listeners, self.listeners)
- def __nonzero__(self):
+ def __bool__(self):
return bool(self.listeners or self.parent_listeners)