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: aside.boilerplate.observable.EventType)[source]¶ Bases:
objectDescribes the cause of the observable event.
-
event_type: aside.boilerplate.observable.EventType¶
-
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[aside.boilerplate.observable.EventType])[source]¶ Bases:
objectContains information about a subscribed observer.
-
callback: Callable¶
-
regexp: Pattern[~AnyStr]¶
-
event_types: Set[aside.boilerplate.observable.EventType]¶
-
-
class
Observable(*args, **kwds)[source]¶ Bases:
typing_extensions.ProtocolCommon protocol/interface for all observable classes.
-
observable(cls: type) → Union[Type[aside.boilerplate.observable.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[aside.boilerplate.observable.Observable]] = None)[source]¶ Construct collection and populate it from init_vals, if any.
-
add(value: aside.boilerplate.observable.Observable) → None[source]¶ Add value to collection, overwriting old value with same UUID, if any.
-
discard(value: aside.boilerplate.observable.Observable) → None[source]¶ Discard object with same UUID from collection.
-