twisted.words.xish.utility.CallbackList
class documentationtwisted.words.xish.utility
View 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.
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. (type: dict ) |
Method | __init__ | Undocumented |
Method | addCallback | Add callback. |
Method | removeCallback | Remove callback. |
Method | callback | Call all registered callbacks. |
Method | isEmpty | Return if list of registered callbacks is empty. |
dict
)
Add callback.
The arguments passed are used as callback specific arguments.
Parameters | onetime | If True , this callback is called at most once. (type: bool ) |
method | The callback callable to be added. | |
args | Positional arguments to the callable. (type: list ) | |
kwargs | Keyword arguments to the callable. (type: dict ) |
Remove callback.
Parameters | method | The callable to be removed. |
Call all registered callbacks.
The passed arguments are event specific and augment and override the callback specific arguments as described above.
Parameters | args | Positional arguments to the callable. (type: list ) |
kwargs | Keyword arguments to the callable. (type: dict ) | |
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. |