class documentation

class CallbackList: (source)

View In Hierarchy

Container for callbacks.

Event queries are linked to lists of callables. When a matching event occurs, these callables are called in sequence. One-time callbacks are removed from the list after the first time the event was triggered.

Arguments to callbacks are split spread across two sets. The first set, callback specific, is passed to addCallback and is used for all subsequent event triggers. The second set is passed to callback and is event specific. Positional arguments in the second set come after the positional arguments of the first set. Keyword arguments in the second set override those in the first set.

Method __init__ Undocumented
Method addCallback Add callback.
Method callback Call all registered callbacks.
Method isEmpty Return if list of registered callbacks is empty.
Method removeCallback Remove callback.
Instance Variable callbacks The registered callbacks as mapping from the callable to a tuple of a wrapper for that callable that keeps the callback specific arguments and a boolean that signifies if it is to be called only once.
def __init__(self): (source)

Undocumented

def addCallback(self, onetime, method, *args, **kwargs): (source)

Add callback.

The arguments passed are used as callback specific arguments.

Parameters
onetime:boolIf True, this callback is called at most once.
methodThe callback callable to be added.
*args:listPositional arguments to the callable.
**kwargs:dictKeyword arguments to the callable.
def callback(self, *args, **kwargs): (source)

Call all registered callbacks.

The passed arguments are event specific and augment and override the callback specific arguments as described above.

Parameters
*args:listPositional arguments to the callable.
**kwargs:dictKeyword arguments to the callable.
Note
Exceptions raised by callbacks are trapped and logged. They will not propagate up to make sure other callbacks will still be called, and the event dispatching always succeeds.
def isEmpty(self): (source)

Return if list of registered callbacks is empty.

Returns
boolUndocumented
def removeCallback(self, method): (source)

Remove callback.

Parameters
methodThe callable to be removed.
callbacks: dict = (source)

The registered callbacks as mapping from the callable to a tuple of a wrapper for that callable that keeps the callback specific arguments and a boolean that signifies if it is to be called only once.