pydispatch.utils module¶
WeakMethodContainer class¶
-
class
WeakMethodContainer(**kw)[source]¶ Container to store weak references to callbacks
Instance methods are stored using the underlying function object and the instance id (using
id(obj)) as the key (a two-tuple) and the object itself as the value. This ensures proper weak referencing.Functions are stored using the string “function” and the id of the function as the key (a two-tuple).
-
add_method(m, **kwargs)[source]¶ Add an instance method or function
Parameters: m – The instance method or function to store
-
del_instance(obj)[source]¶ Remove any stored instance methods that belong to an object
Parameters: obj – The instance object to remove
-
del_method(m)[source]¶ Remove an instance method or function if it exists
Parameters: m – The instance method or function to remove
-
iter_instances()[source]¶ Iterate over the stored objects
Yields: wrkey – The two-tuple key used to store the object obj: The instance or function object
-
InformativeWVDict class¶
-
class
InformativeWVDict(**kwargs)[source]¶ Bases:
weakref.WeakValueDictionaryA WeakValueDictionary providing a callback for deletion
Keyword Arguments: del_callback – A callback function that will be called when an item is either deleted or dereferenced. It will be called with the key as the only argument.
EmissionHoldLock class¶
-
class
EmissionHoldLock(event_instance)[source]¶ Bases:
pydispatch.utils.EmissionHoldLock_,pydispatch.aioutils.AioEmissionHoldLock
EmissionHoldLock_ class¶
-
class
EmissionHoldLock_(event_instance)[source]¶ Context manager used for
pydispatch.dispatch.Dispatcher.emission_lock()Parameters: event_instance – The Eventinstance associated with the lock-
last_event¶ The positional and keyword arguments from the event’s last emission as a two-tuple. If no events were triggered while the lock was held,
None.
-
held¶ bool – The internal state of the lock
-
AioEmissionHoldLock class¶
-
class
AioEmissionHoldLock[source]¶ Bases:
objectAsync context manager mixin for
pydispatch.utils.EmissionHoldLock_Supports use in
async withstatements