diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-01-06 01:14:26 -0500 |
|---|---|---|
| committer | mike bayer <mike_mp@zzzcomputing.com> | 2019-01-06 17:34:50 +0000 |
| commit | 1e1a38e7801f410f244e4bbb44ec795ae152e04e (patch) | |
| tree | 28e725c5c8188bd0cfd133d1e268dbca9b524978 /lib/sqlalchemy/orm/events.py | |
| parent | 404e69426b05a82d905cbb3ad33adafccddb00dd (diff) | |
| download | sqlalchemy-1e1a38e7801f410f244e4bbb44ec795ae152e04e.tar.gz | |
Run black -l 79 against all source files
This is a straight reformat run using black as is, with no edits
applied at all.
The black run will format code consistently, however in
some cases that are prevalent in SQLAlchemy code it produces
too-long lines. The too-long lines will be resolved in the
following commit that will resolve all remaining flake8 issues
including shadowed builtins, long lines, import order, unused
imports, duplicate imports, and docstring issues.
Change-Id: I7eda77fed3d8e73df84b3651fd6cfcfe858d4dc9
Diffstat (limited to 'lib/sqlalchemy/orm/events.py')
| -rw-r--r-- | lib/sqlalchemy/orm/events.py | 175 |
1 files changed, 109 insertions, 66 deletions
diff --git a/lib/sqlalchemy/orm/events.py b/lib/sqlalchemy/orm/events.py index c414f548e..c2a2d15ee 100644 --- a/lib/sqlalchemy/orm/events.py +++ b/lib/sqlalchemy/orm/events.py @@ -20,6 +20,7 @@ from .attributes import QueryableAttribute from .query import Query from sqlalchemy.util.compat import inspect_getargspec + class InstrumentationEvents(event.Events): """Events related to class instrumentation events. @@ -61,9 +62,11 @@ class InstrumentationEvents(event.Events): @classmethod def _listen(cls, event_key, propagate=True, **kw): - target, identifier, fn = \ - event_key.dispatch_target, event_key.identifier, \ - event_key._listen_fn + target, identifier, fn = ( + event_key.dispatch_target, + event_key.identifier, + event_key._listen_fn, + ) def listen(target_cls, *arg): listen_cls = target() @@ -74,16 +77,20 @@ class InstrumentationEvents(event.Events): def remove(ref): key = event.registry._EventKey( - None, identifier, listen, - instrumentation._instrumentation_factory) - getattr(instrumentation._instrumentation_factory.dispatch, - identifier).remove(key) + None, + identifier, + listen, + instrumentation._instrumentation_factory, + ) + getattr( + instrumentation._instrumentation_factory.dispatch, identifier + ).remove(key) target = weakref.ref(target.class_, remove) - event_key.\ - with_dispatch_target(instrumentation._instrumentation_factory).\ - with_wrapper(listen).base_listen(**kw) + event_key.with_dispatch_target( + instrumentation._instrumentation_factory + ).with_wrapper(listen).base_listen(**kw) @classmethod def _clear(cls): @@ -193,21 +200,24 @@ class InstanceEvents(event.Events): @classmethod def _listen(cls, event_key, raw=False, propagate=False, **kw): - target, identifier, fn = \ - event_key.dispatch_target, event_key.identifier, \ - event_key._listen_fn + target, identifier, fn = ( + event_key.dispatch_target, + event_key.identifier, + event_key._listen_fn, + ) if not raw: + def wrap(state, *arg, **kw): return fn(state.obj(), *arg, **kw) + event_key = event_key.with_wrapper(wrap) event_key.base_listen(propagate=propagate, **kw) if propagate: for mgr in target.subclass_managers(True): - event_key.with_dispatch_target(mgr).base_listen( - propagate=True) + event_key.with_dispatch_target(mgr).base_listen(propagate=True) @classmethod def _clear(cls): @@ -438,10 +448,13 @@ class _EventsHold(event.RefCollection): @classmethod def _listen( - cls, event_key, raw=False, propagate=False, - retval=False, **kw): - target, identifier, fn = \ - event_key.dispatch_target, event_key.identifier, event_key.fn + cls, event_key, raw=False, propagate=False, retval=False, **kw + ): + target, identifier, fn = ( + event_key.dispatch_target, + event_key.identifier, + event_key.fn, + ) if target.class_ in target.all_holds: collection = target.all_holds[target.class_] @@ -460,12 +473,16 @@ class _EventsHold(event.RefCollection): if subject is not None: # we are already going through __subclasses__() # so leave generic propagate flag False - event_key.with_dispatch_target(subject).\ - listen(raw=raw, propagate=False, retval=retval, **kw) + event_key.with_dispatch_target(subject).listen( + raw=raw, propagate=False, retval=retval, **kw + ) def remove(self, event_key): - target, identifier, fn = \ - event_key.dispatch_target, event_key.identifier, event_key.fn + target, identifier, fn = ( + event_key.dispatch_target, + event_key.identifier, + event_key.fn, + ) if isinstance(target, _EventsHold): collection = target.all_holds[target.class_] @@ -483,8 +500,9 @@ class _EventsHold(event.RefCollection): # populate(), we rely upon _EventsHold for all event # assignment, instead of using the generic propagate # flag. - event_key.with_dispatch_target(subject).\ - listen(raw=raw, propagate=False, retval=retval) + event_key.with_dispatch_target(subject).listen( + raw=raw, propagate=False, retval=retval + ) class _InstanceEventsHold(_EventsHold): @@ -594,24 +612,31 @@ class MapperEvents(event.Events): @classmethod def _listen( - cls, event_key, raw=False, retval=False, propagate=False, **kw): - target, identifier, fn = \ - event_key.dispatch_target, event_key.identifier, \ - event_key._listen_fn - - if identifier in ("before_configured", "after_configured") and \ - target is not mapperlib.Mapper: + cls, event_key, raw=False, retval=False, propagate=False, **kw + ): + target, identifier, fn = ( + event_key.dispatch_target, + event_key.identifier, + event_key._listen_fn, + ) + + if ( + identifier in ("before_configured", "after_configured") + and target is not mapperlib.Mapper + ): util.warn( "'before_configured' and 'after_configured' ORM events " "only invoke with the mapper() function or Mapper class " - "as the target.") + "as the target." + ) if not raw or not retval: if not raw: meth = getattr(cls, identifier) try: - target_index = \ - inspect_getargspec(meth)[0].index('target') - 1 + target_index = ( + inspect_getargspec(meth)[0].index("target") - 1 + ) except ValueError: target_index = None @@ -624,12 +649,14 @@ class MapperEvents(event.Events): return interfaces.EXT_CONTINUE else: return fn(*arg, **kw) + event_key = event_key.with_wrapper(wrap) if propagate: for mapper in target.self_and_descendants: event_key.with_dispatch_target(mapper).base_listen( - propagate=True, **kw) + propagate=True, **kw + ) else: event_key.base_listen(**kw) @@ -1219,15 +1246,14 @@ class SessionEvents(event.Events): if isinstance(target, scoped_session): target = target.session_factory - if not isinstance(target, sessionmaker) and \ - ( - not isinstance(target, type) or - not issubclass(target, Session) + if not isinstance(target, sessionmaker) and ( + not isinstance(target, type) or not issubclass(target, Session) ): raise exc.ArgumentError( "Session event listen on a scoped_session " "requires that its creation callable " - "is associated with the Session class.") + "is associated with the Session class." + ) if isinstance(target, sessionmaker): return target.class_ @@ -1561,13 +1587,16 @@ class SessionEvents(event.Events): """ - @event._legacy_signature("0.9", - ["session", "query", "query_context", "result"], - lambda update_context: ( - update_context.session, - update_context.query, - update_context.context, - update_context.result)) + @event._legacy_signature( + "0.9", + ["session", "query", "query_context", "result"], + lambda update_context: ( + update_context.session, + update_context.query, + update_context.context, + update_context.result, + ), + ) def after_bulk_update(self, update_context): """Execute after a bulk update operation to the session. @@ -1587,13 +1616,16 @@ class SessionEvents(event.Events): """ - @event._legacy_signature("0.9", - ["session", "query", "query_context", "result"], - lambda delete_context: ( - delete_context.session, - delete_context.query, - delete_context.context, - delete_context.result)) + @event._legacy_signature( + "0.9", + ["session", "query", "query_context", "result"], + lambda delete_context: ( + delete_context.session, + delete_context.query, + delete_context.context, + delete_context.result, + ), + ) def after_bulk_delete(self, delete_context): """Execute after a bulk delete operation to the session. @@ -1927,18 +1959,26 @@ class AttributeEvents(event.Events): return target @classmethod - def _listen(cls, event_key, active_history=False, - raw=False, retval=False, - propagate=False): - - target, identifier, fn = \ - event_key.dispatch_target, event_key.identifier, \ - event_key._listen_fn + def _listen( + cls, + event_key, + active_history=False, + raw=False, + retval=False, + propagate=False, + ): + + target, identifier, fn = ( + event_key.dispatch_target, + event_key.identifier, + event_key._listen_fn, + ) if active_history: target.dispatch._active_history = True if not raw or not retval: + def wrap(target, *arg): if not raw: target = target.obj() @@ -1951,6 +1991,7 @@ class AttributeEvents(event.Events): return value else: return fn(target, *arg) + event_key = event_key.with_wrapper(wrap) event_key.base_listen(propagate=propagate) @@ -1959,8 +2000,9 @@ class AttributeEvents(event.Events): manager = instrumentation.manager_of_class(target.class_) for mgr in manager.subclass_managers(True): - event_key.with_dispatch_target( - mgr[target.key]).base_listen(propagate=True) + event_key.with_dispatch_target(mgr[target.key]).base_listen( + propagate=True + ) def append(self, target, value, initiator): """Receive a collection append event. @@ -2315,11 +2357,11 @@ class QueryEvents(event.Events): """ @classmethod - def _listen( - cls, event_key, retval=False, **kw): + def _listen(cls, event_key, retval=False, **kw): fn = event_key._listen_fn if not retval: + def wrap(*arg, **kw): if not retval: query = arg[0] @@ -2327,6 +2369,7 @@ class QueryEvents(event.Events): return query else: return fn(*arg, **kw) + event_key = event_key.with_wrapper(wrap) event_key.base_listen(**kw) |
