summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/events.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/orm/events.py')
-rw-r--r--lib/sqlalchemy/orm/events.py42
1 files changed, 21 insertions, 21 deletions
diff --git a/lib/sqlalchemy/orm/events.py b/lib/sqlalchemy/orm/events.py
index b610408b7..718a18606 100644
--- a/lib/sqlalchemy/orm/events.py
+++ b/lib/sqlalchemy/orm/events.py
@@ -26,11 +26,11 @@ class InstrumentationEvents(event.Events):
return None
@classmethod
- def listen(cls, fn, identifier, target, propagate=False):
- event.Events.listen(fn, identifier, target, propagate=propagate)
+ def listen(cls, target, identifier, fn, propagate=False):
+ event.Events.listen(target, identifier, fn, propagate=propagate)
@classmethod
- def remove(cls, fn, identifier, target):
+ def remove(cls, identifier, target, fn):
raise NotImplementedError("Removal of instrumentation events not yet implemented")
def on_class_instrument(self, cls):
@@ -81,20 +81,20 @@ class InstanceEvents(event.Events):
return None
@classmethod
- def listen(cls, fn, identifier, target, raw=False, propagate=False):
+ def listen(cls, target, identifier, fn, raw=False, propagate=False):
if not raw:
orig_fn = fn
def wrap(state, *arg, **kw):
return orig_fn(state.obj(), *arg, **kw)
fn = wrap
- event.Events.listen(fn, identifier, target, propagate=propagate)
+ event.Events.listen(target, identifier, fn, propagate=propagate)
if propagate:
for mgr in target.subclass_managers(True):
- event.Events.listen(fn, identifier, mgr, True)
+ event.Events.listen(mgr, identifier, fn, True)
@classmethod
- def remove(cls, fn, identifier, target):
+ def remove(cls, identifier, target, fn):
raise NotImplementedError("Removal of instance events not yet implemented")
def on_init(self, target, args, kwargs):
@@ -154,7 +154,7 @@ class MapperEvents(event.Events):
# associate the listener function with SomeMappedClass,
# to execute during the "on_before_insert" hook
- event.listen(my_before_insert_listener, 'on_before_insert', SomeMappedClass)
+ event.listen(SomeMappedClass, 'on_before_insert', my_before_insert_listener)
Available targets include mapped classes, instances of
:class:`.Mapper` (i.e. returned by :func:`.mapper`,
@@ -168,7 +168,7 @@ class MapperEvents(event.Events):
log.debug("Instance %s being inserted" % target)
# attach to all mappers
- event.listen(some_listener, 'on_before_insert', mapper)
+ event.listen(mapper, 'on_before_insert', some_listener)
Mapper events provide hooks into critical sections of the
mapper, including those related to object instrumentation,
@@ -223,7 +223,7 @@ class MapperEvents(event.Events):
return target
@classmethod
- def listen(cls, fn, identifier, target,
+ def listen(cls, target, identifier, fn,
raw=False, retval=False, propagate=False):
from sqlalchemy.orm.interfaces import EXT_CONTINUE
@@ -249,9 +249,9 @@ class MapperEvents(event.Events):
if propagate:
for mapper in target.self_and_descendants:
- event.Events.listen(fn, identifier, mapper, propagate=True)
+ event.Events.listen(mapper, identifier, fn, propagate=True)
else:
- event.Events.listen(fn, identifier, target)
+ event.Events.listen(target, identifier, fn)
def on_instrument_class(self, mapper, class_):
"""Receive a class when the mapper is first constructed, and has
@@ -623,7 +623,7 @@ class MapperEvents(event.Events):
"""
@classmethod
- def remove(cls, fn, identifier, target):
+ def remove(cls, identifier, target, fn):
raise NotImplementedError("Removal of mapper events not yet implemented")
class SessionEvents(event.Events):
@@ -639,7 +639,7 @@ class SessionEvents(event.Events):
Session = sessionmaker()
- event.listen(my_before_commit, "on_before_commit", Session)
+ event.listen(Session, "on_before_commit", my_before_commit)
The :func:`~.event.listen` function will accept
:class:`.Session` objects as well as the return result
@@ -673,7 +673,7 @@ class SessionEvents(event.Events):
return None
@classmethod
- def remove(cls, fn, identifier, target):
+ def remove(cls, identifier, target, fn):
raise NotImplementedError("Removal of session events not yet implemented")
def on_before_commit(self, session):
@@ -762,7 +762,7 @@ class AttributeEvents(event.Events):
def my_append_listener(target, value, initiator):
print "received append event for target: %s" % target
- event.listen(my_append_listener, 'on_append', MyClass.collection)
+ event.listen(MyClass.collection, 'on_append', my_append_listener)
Listeners have the option to return a possibly modified version
of the value, when the ``retval=True`` flag is passed
@@ -775,7 +775,7 @@ class AttributeEvents(event.Events):
# setup listener on UserContact.phone attribute, instructing
# it to use the return value
- listen(validate_phone, 'on_set', UserContact.phone, retval=True)
+ listen(UserContact.phone, 'on_set', validate_phone, retval=True)
A validation function like the above can also raise an exception
such as :class:`ValueError` to halt the operation.
@@ -807,7 +807,7 @@ class AttributeEvents(event.Events):
"""
@classmethod
- def listen(cls, fn, identifier, target, active_history=False,
+ def listen(cls, target, identifier, fn, active_history=False,
raw=False, retval=False,
propagate=False):
if active_history:
@@ -828,7 +828,7 @@ class AttributeEvents(event.Events):
return orig_fn(target, value, *arg)
fn = wrap
- event.Events.listen(fn, identifier, target, propagate)
+ event.Events.listen(target, identifier, fn, propagate)
if propagate:
from sqlalchemy.orm.instrumentation import manager_of_class
@@ -836,10 +836,10 @@ class AttributeEvents(event.Events):
manager = manager_of_class(target.class_)
for mgr in manager.subclass_managers(True):
- event.Events.listen(fn, identifier, mgr[target.key], True)
+ event.Events.listen(mgr[target.key], identifier, fn, True)
@classmethod
- def remove(cls, fn, identifier, target):
+ def remove(cls, identifier, target, fn):
raise NotImplementedError("Removal of attribute events not yet implemented")
def on_append(self, target, value, initiator):