Event Listeners¶
- class detroit_live.events.event_listeners.EventListeners¶
Collection of event listeners mapped by event types.
- __getitem__(event_type: str) EventListenersGroup¶
Gets a group of event listeners given the specified
event_type.- Parameters:
event_type (str) – Event type
- Returns:
Group of event listeners
- Return type:
- __contains__(event_type: str) bool¶
Checks if the specified
event_typeexists in the collection.- Parameters:
event_type (str) – Event type
- Returns:
Trueif found- Return type:
bool
- __call__(event: dict[str, Any]) Iterator[list[dict[str, Any]]]¶
Applies the specified
eventto all matched event listeners.- Parameters:
event (dict[str, Any]) – Event received by the websocket
- Returns:
Iterator of updated values sent through websocket
- Return type:
Iterator[list[dict[str, Any]]]
- add_event_listener(target: EventListener)¶
Adds an event listener to the collection
- Parameters:
target (EventListener) – Event listener
- remove_event_listener(typename: str, name: str, node: Element)¶
Removes an event listener from the collection
- Parameters:
typename (str) – Typename
name (str) – Name
node (etree.Element) – Node element
- into_script(host: str | None = None, port: int | None = None) str¶
Converts event listeners into a script (
str) used by JavaScript.- Parameters:
host (str | None) – Host name value
port (int | None) – Port value
- Returns:
Script used by JavaScript
- Return type:
str
- keys() set[str]¶
Returns the set of event types
- Returns:
Set of event types
- Return type:
set[str]
- values() list[EventListenersGroup]¶
Returns a list of groups of event listeners
- Returns:
List of groups of event listeners
- Return type:
list[EventListenersGroup]
- class detroit_live.events.event_listeners.EventListenersGroup(typename: str)¶
Class which groups event listeners by typenames, elements (nodes) and names.
- event¶
Event class
- Type:
type[Event]
- event_type¶
Event type
- Type:
str
- __setitem__(key: tuple[Element, str, str], event_listener: EventListener)¶
Sets an event listener given a
key.- Parameters:
key (tuple[etree.Element, str, str]) – Tuple
(node, typename, name)event_listener (EventListener) – Event listener object
- get(key: tuple[Element, str, str]) EventListener | None¶
Gets an event listener given the specified
keyif it exists else returnsNone.- Parameters:
key (tuple[etree.Element, str, str]) – Tuple
(node, typename, name)- Returns:
Even listener if found
- Return type:
EventListener | None
- pop(key: tuple[Element, str, str], default: Any = None) EventListener | Any¶
Pops the event listener given the specified
key. If not found, it returnsdefault.- Parameters:
key (tuple[etree.Element, str, str]) – Tuple
(node, typename, name)default (Any) – Value returned if the event listener was not found
- Returns:
Popped event listener if found else
default- Return type:
EventListener | Any
- search(node: Element | None = None, typename: str | None = None, name: str | None = None) list[EventListener]¶
Searchs all event listeners which match the values of the specified
node,typenameandname.- Parameters:
node (Optional[etree.Element]) – Node element
typename (str | None) – Typename
name (str | None) – Name associated of the typename
- Returns:
List of event listeners
- Return type:
list[EventListener]
- filter_by(event: Event, typename: str) list[EventListener]¶
Filters event listeners based on the given
eventandtypename.- Parameters:
event (Event) – Event
typename (str) – Typename of the event
- Returns:
List of event listeners
- Return type:
list[EventListener]
- propagate(event: dict[str, Any]) Iterator[list[dict[str, Any]]]¶
Propagate an
eventto all matched event listeners.- Parameters:
event (dict[str, Any]) – JSON dictionary
- Returns:
Iterator of updated values sent through websocket
- Return type:
Iterator[list[dict[str, Any]]]
- event_json() str¶
Returns the event as a JSON string used for JavaScript code.
- Returns:
JSON of the event
- Return type:
str
- from_json(content: dict[str, Any]) Event¶
Converts a JSON dictionary to an event object.
- Parameters:
content (dict[str, Any]) – JSON content from JavaScript
- Returns:
Event object
- Return type:
Event
- into_script() str¶
Converts event listeners into a script (
str) used by JavaScript.- Returns:
Script used by JavaScript
- Return type:
str
- class detroit_live.events.event_listeners.EventListener(typename: str, name: str, listener: ContextListener, active: bool = True, target: str | None = None)¶
Event listener
- typename¶
Typename
- Type:
str
- name¶
Name associated to the typename
- Type:
str
- listener¶
Context listener
- Type:
ContextListener
- active¶
Helps to know if the event listener is activated
- Type:
bool
- node¶
Node associated to the event listener
- Type:
etree.Element
- target¶
Target
- Type:
str
- into_script(event_json: str) str¶