summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/event/registry.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/event/registry.py')
-rw-r--r--lib/sqlalchemy/event/registry.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/lib/sqlalchemy/event/registry.py b/lib/sqlalchemy/event/registry.py
index 11f5cb579..a34de3cd7 100644
--- a/lib/sqlalchemy/event/registry.py
+++ b/lib/sqlalchemy/event/registry.py
@@ -47,6 +47,7 @@ ref(listenercollection) -> {
}
"""
+
def _collection_gced(ref):
# defaultdict, so can't get a KeyError
if not _collection_to_key or ref not in _collection_to_key:
@@ -60,6 +61,7 @@ def _collection_gced(ref):
if not dispatch_reg:
_key_to_collection.pop(key)
+
def _stored_in_collection(event_key, owner):
key = event_key._key
@@ -76,6 +78,7 @@ def _stored_in_collection(event_key, owner):
listener_to_key = _collection_to_key[owner_ref]
listener_to_key[listen_ref] = key
+
def _removed_from_collection(event_key, owner):
key = event_key._key
@@ -92,6 +95,7 @@ def _removed_from_collection(event_key, owner):
listener_to_key = _collection_to_key[owner_ref]
listener_to_key.pop(listen_ref)
+
def _stored_in_collection_multi(newowner, oldowner, elements):
if not elements:
return
@@ -113,6 +117,7 @@ def _stored_in_collection_multi(newowner, oldowner, elements):
new_listener_to_key[listen_ref] = key
+
def _clear(owner, elements):
if not elements:
return
@@ -133,8 +138,8 @@ class _EventKey(object):
"""Represent :func:`.listen` arguments.
"""
-
- def __init__(self, target, identifier, fn, dispatch_target, _fn_wrap=None):
+ def __init__(self, target, identifier,
+ fn, dispatch_target, _fn_wrap=None):
self.target = target
self.identifier = identifier
self.fn = fn
@@ -159,7 +164,7 @@ class _EventKey(object):
self.fn,
self.dispatch_target,
_fn_wrap=fn_wrap
- )
+ )
def with_dispatch_target(self, dispatch_target):
if dispatch_target is self.dispatch_target:
@@ -171,12 +176,13 @@ class _EventKey(object):
self.fn,
dispatch_target,
_fn_wrap=self.fn_wrap
- )
+ )
def listen(self, *args, **kw):
once = kw.pop("once", False)
if once:
- self.with_wrapper(util.only_once(self._listen_fn)).listen(*args, **kw)
+ self.with_wrapper(
+ util.only_once(self._listen_fn)).listen(*args, **kw)
else:
self.dispatch_target.dispatch._listen(self, *args, **kw)
@@ -185,9 +191,9 @@ class _EventKey(object):
if key not in _key_to_collection:
raise exc.InvalidRequestError(
- "No listeners found for event %s / %r / %s " %
- (self.target, self.identifier, self.fn)
- )
+ "No listeners found for event %s / %r / %s " %
+ (self.target, self.identifier, self.fn)
+ )
dispatch_reg = _key_to_collection.pop(key)
for collection_ref, listener_ref in dispatch_reg.items():
@@ -202,7 +208,7 @@ class _EventKey(object):
return self._key in _key_to_collection
def base_listen(self, propagate=False, insert=False,
- named=False):
+ named=False):
target, identifier, fn = \
self.dispatch_target, self.identifier, self._listen_fn
@@ -214,10 +220,10 @@ class _EventKey(object):
if insert:
dispatch_descriptor.\
- for_modify(target.dispatch).insert(self, propagate)
+ for_modify(target.dispatch).insert(self, propagate)
else:
dispatch_descriptor.\
- for_modify(target.dispatch).append(self, propagate)
+ for_modify(target.dispatch).append(self, propagate)
@property
def _listen_fn(self):
@@ -238,5 +244,3 @@ class _EventKey(object):
def prepend_to_list(self, owner, list_):
_stored_in_collection(self, owner)
list_.insert(0, self._listen_fn)
-
-