summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/interfaces.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-08-29 11:22:46 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-08-29 11:22:46 -0400
commit1149197a36f01dae1f8da82b7cfb73a7777e7a4a (patch)
tree3b2cacd6c9fc75c51862eb886420036b7cd08c47 /lib/sqlalchemy/interfaces.py
parenta635750213c346a895e417ae8e629ce924d557e8 (diff)
downloadsqlalchemy-1149197a36f01dae1f8da82b7cfb73a7777e7a4a.tar.gz
- moved out to on_before_execute, on_after_execute. not much option here,
need both forms, the wrapping thing is just silly - fixed the listen() to not re-wrap continuously.
Diffstat (limited to 'lib/sqlalchemy/interfaces.py')
-rw-r--r--lib/sqlalchemy/interfaces.py70
1 files changed, 49 insertions, 21 deletions
diff --git a/lib/sqlalchemy/interfaces.py b/lib/sqlalchemy/interfaces.py
index 1cceff0b4..2c16935ce 100644
--- a/lib/sqlalchemy/interfaces.py
+++ b/lib/sqlalchemy/interfaces.py
@@ -174,41 +174,69 @@ class ConnectionProxy(object):
@classmethod
def _adapt_listener(cls, self, listener):
-
- def adapt_execute(conn, clauseelement, *multiparams, **params):
+
+ def adapt_execute(conn, clauseelement, multiparams, params):
+
def execute_wrapper(clauseelement, *multiparams, **params):
return clauseelement, multiparams, params
- return listener.execute(conn, execute_wrapper, clauseelement, *multiparams, **params)
-
- event.listen(adapt_execute, 'on_execute', self)
+
+ return listener.execute(conn, execute_wrapper,
+ clauseelement, *multiparams,
+ **params)
+
+ event.listen(adapt_execute, 'on_before_execute', self)
def adapt_cursor_execute(conn, cursor, statement,
- parameters, context, executemany):
- def execute_wrapper(cursor, statement, parameters, context):
+ parameters,context, executemany, ):
+
+ def execute_wrapper(
+ cursor,
+ statement,
+ parameters,
+ context,
+ ):
return statement, parameters
- return listener.cursor_execute(execute_wrapper, cursor, statement,
- parameters, context, executemany)
-
- event.listen(adapt_cursor_execute, 'on_cursor_execute', self)
+
+ return listener.cursor_execute(
+ execute_wrapper,
+ cursor,
+ statement,
+ parameters,
+ context,
+ executemany,
+ )
+
+ event.listen(adapt_cursor_execute, 'on_before_cursor_execute',
+ self)
def do_nothing_callback(*arg, **kw):
pass
-
+
def adapt_listener(fn):
+
def go(conn, *arg, **kw):
fn(conn, do_nothing_callback, *arg, **kw)
+
return util.update_wrapper(go, fn)
-
+
event.listen(adapt_listener(listener.begin), 'on_begin', self)
- event.listen(adapt_listener(listener.rollback), 'on_rollback', self)
+ event.listen(adapt_listener(listener.rollback), 'on_rollback',
+ self)
event.listen(adapt_listener(listener.commit), 'on_commit', self)
- event.listen(adapt_listener(listener.savepoint), 'on_savepoint', self)
- event.listen(adapt_listener(listener.rollback_savepoint), 'on_rollback_savepoint', self)
- event.listen(adapt_listener(listener.release_savepoint), 'on_release_savepoint', self)
- event.listen(adapt_listener(listener.begin_twophase), 'on_begin_twophase', self)
- event.listen(adapt_listener(listener.prepare_twophase), 'on_prepare_twophase', self)
- event.listen(adapt_listener(listener.rollback_twophase), 'on_rollback_twophase', self)
- event.listen(adapt_listener(listener.commit_twophase), 'on_commit_twophase', self)
+ event.listen(adapt_listener(listener.savepoint), 'on_savepoint'
+ , self)
+ event.listen(adapt_listener(listener.rollback_savepoint),
+ 'on_rollback_savepoint', self)
+ event.listen(adapt_listener(listener.release_savepoint),
+ 'on_release_savepoint', self)
+ event.listen(adapt_listener(listener.begin_twophase),
+ 'on_begin_twophase', self)
+ event.listen(adapt_listener(listener.prepare_twophase),
+ 'on_prepare_twophase', self)
+ event.listen(adapt_listener(listener.rollback_twophase),
+ 'on_rollback_twophase', self)
+ event.listen(adapt_listener(listener.commit_twophase),
+ 'on_commit_twophase', self)
def execute(self, conn, execute, clauseelement, *multiparams, **params):