aside.boilerplate.observable module¶
Contains implementation of observable-related classes.
- class EventType(value)[source]¶
Bases:
enum.EnumPossible event types.
- REASSIGN = 1¶
- CHANGE = 2¶
- ADD = 3¶
- DISCARD = 4¶
- class Event(*, attr_name: str, obj: Observable, event_type: EventType)[source]¶
Bases:
objectDescribes the cause of the observable event.
- obj: Observable¶
- get_nested_object(level: Optional[int] = None)[source]¶
Get nested object of event.
- Parameters
level – Behaves as a list index, negative indices are valid.
- property split_attr_path¶
Get list of consecutive attributes leading to source of event.
- class Observer(*, callback: Callable, regexp: Pattern[~ AnyStr], order: int, event_types: Set[EventType])[source]¶
Bases:
objectContains information about a subscribed observer.
- callback: Callable¶
- regexp: Pattern[~AnyStr]¶
- class Observable(*args, **kwds)[source]¶
Bases:
typing_extensions.ProtocolCommon protocol/interface for all observable classes.
- observable(cls: type) → Union[Type[Observable], type][source]¶
Make the attributes of an attrs-style
Observableclass also observable.
- class ObservableCollection(*args, **kwds)[source]¶
Bases:
collections.abc.MutableSet,collections.abc.Mapping,aside.boilerplate.observable.ObservableObservable collection of Observable objects.
- __init__(init_vals: Optional[Iterable[Observable]] = None)[source]¶
Construct collection and populate it from init_vals, if any.
- add(value: Observable) → None[source]¶
Add value to collection, overwriting old value with same UUID, if any.
- discard(value: Observable) → None[source]¶
Discard object with same UUID from collection.