CallbackDict

class echo.CallbackDict(callback, *args, **kwargs)[source]

Bases: dict, ContainerMixin

A dictionary that calls a callback function when it is modified.

The first argument should be the callback function (which takes no arguments), and subsequent arguments are passed to dict.

Methods

add_callback(func[, priority, validator])

Add a callback to the container.

clear()

copy()

fromkeys(iterable[, value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

pop(k[,d])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

remove_callback(func)

Remove a callback from the container.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

notify_all

Methods Summary

add_callback(func[, priority, validator])

Add a callback to the container.

clear()

copy()

fromkeys(iterable[, value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

notify_all(*args, **kwargs)

pop(k[,d])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()

Remove and return a (key, value) pair as a 2-tuple.

remove_callback(func)

Remove a callback from the container.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

Methods Documentation

add_callback(func, priority=0, validator=False)

Add a callback to the container.

Note that validators are applied on a per item basis, whereas regular callbacks are called with the whole list after modification.

Parameters:
funcfunc

The callback function to add

priorityint, optional

This can optionally be used to force a certain order of execution of callbacks (larger values indicate a higher priority).

validatorbool, optional

Whether the callback is a validator, which is a special kind of callback that gets called with the item being added to the container before the container is modified. The validator can return the value as-is, modify it, or emit warnings or an exception.

clear() None.  Remove all items from D.[source]
copy() a shallow copy of D
classmethod fromkeys(iterable, value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
notify_all(*args, **kwargs)
pop(k[, d]) v, remove specified key and return the corresponding value.[source]

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem()[source]

Remove and return a (key, value) pair as a 2-tuple.

Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.

remove_callback(func)

Remove a callback from the container.

setdefault(key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update([E, ]**F) None.  Update D from mapping/iterable E and F.[source]

If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() an object providing a view on D's values