diff options
Diffstat (limited to 'lib/sqlalchemy/event.py')
| -rw-r--r-- | lib/sqlalchemy/event.py | 10 |
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) |
