diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-07-08 13:39:56 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-07-08 13:39:56 -0400 |
| commit | 02a81707dc8b7c4d69551cad195fb16ca6955df1 (patch) | |
| tree | feda05ad7e0ce7bef057b9ee9d55d3273d8d008a /lib/sqlalchemy/orm/persistence.py | |
| parent | db68ecff12f790fd129f03b8676b317fa17e5f28 (diff) | |
| download | sqlalchemy-02a81707dc8b7c4d69551cad195fb16ca6955df1.tar.gz | |
- create a new system where we can decorate an event method
with @_legacy_signature, will inspect incoming listener functions
to see if they match an older signature, will wrap into a newer sig
- add an event listen argument named=True, will send all args as
kw args so that event listeners can be written with **kw, any combination
of names
- add a doc system to events that writes out the various calling styles
for a given event, produces deprecation messages automatically.
a little concerned that it's a bit verbose but will look at it up
on RTD for awhile to get a feel.
- change the calling signature for bulk update/delete events - we have
the BulkUD object right there, and there's at least six or seven things
people might want to see, so just send the whole BulkUD in
[ticket:2775]
Diffstat (limited to 'lib/sqlalchemy/orm/persistence.py')
| -rw-r--r-- | lib/sqlalchemy/orm/persistence.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py index 944623b07..44da88118 100644 --- a/lib/sqlalchemy/orm/persistence.py +++ b/lib/sqlalchemy/orm/persistence.py @@ -798,6 +798,10 @@ class BulkUD(object): def __init__(self, query): self.query = query.enable_eagerloads(False) + @property + def session(self): + return self.query.session + @classmethod def _factory(cls, lookup, synchronize_session, *arg): try: @@ -915,8 +919,7 @@ class BulkUpdate(BulkUD): def _do_post(self): session = self.query.session - session.dispatch.after_bulk_update(session, self.query, - self.context, self.result) + session.dispatch.after_bulk_update(self) class BulkDelete(BulkUD): @@ -944,8 +947,7 @@ class BulkDelete(BulkUD): def _do_post(self): session = self.query.session - session.dispatch.after_bulk_delete(session, self.query, - self.context, self.result) + session.dispatch.after_bulk_delete(self) class BulkUpdateEvaluate(BulkEvaluate, BulkUpdate): |
