divera.triggers package

Submodules

divera.triggers.socketevents module

class divera.triggers.socketevents.ClusterMessage(data)[source]

Bases: ClusterTrigger

data_path = ['message']
static matches(data) bool[source]

Matches user-message and cluster-message.

  • user-message is triggered when a message is received in a message channel that is related to something

  • cluster-message is triggered when a message is received in the default message channel

property message: Message
property message_channel: MessageChannel
models = (<class 'divera.models.message.Message'>,)
class divera.triggers.socketevents.ClusterMonitorEvent(data)[source]

Bases: SocketEvent

static matches(data) bool[source]
class divera.triggers.socketevents.ClusterPullAlarm(data)[source]

Bases: ClusterPullTrigger

static matches(data) bool[source]
models = (<class 'divera.models.alarms.Alarm'>,)
class divera.triggers.socketevents.ClusterPullEvent(data)[source]

Bases: ClusterPullTrigger

static matches(data) bool[source]
models = (<class 'divera.models.events.Event'>,)
class divera.triggers.socketevents.ClusterPullMessageChannel(data)[source]

Bases: ClusterPullTrigger

static matches(data) bool[source]
models = (<class 'divera.models.message_channel.MessageChannel'>,)
class divera.triggers.socketevents.ClusterPullNews(data)[source]

Bases: ClusterPullTrigger

static matches(data) bool[source]
models = (<class 'divera.models.news.News'>,)
class divera.triggers.socketevents.ClusterPullTrigger(data)[source]

Bases: SocketEvent

property action
action_path = ['pull', 'action']
static matches(data) bool[source]
models = None
class divera.triggers.socketevents.ClusterTrigger(data)[source]

Bases: ClusterPullTrigger, ABC

abstract property data_path: list
property object
class divera.triggers.socketevents.MessageDeletedEvent(data)[source]

Bases: ClusterMessage

static matches(data) bool[source]

Matches user-message and cluster-message.

  • user-message is triggered when a message is received in a message channel that is related to something

  • cluster-message is triggered when a message is received in the default message channel

class divera.triggers.socketevents.SocketEvent(data)[source]

Bases: Trigger

abstract static matches(data) bool[source]
class divera.triggers.socketevents.UnspecifiedClusterPull(data)[source]

Bases: ClusterPullTrigger

models = None
class divera.triggers.socketevents.UnspecifiedSocketEvent(data)[source]

Bases: SocketEvent

static matches(data) bool[source]
class divera.triggers.socketevents.UserStatusChange(data)[source]

Bases: SocketEvent

static matches(data) bool[source]
divera.triggers.socketevents.get_matching_subclasses(data, cls: ~divera.triggers.socketevents.SocketEvent = <class 'divera.triggers.socketevents.SocketEvent'>, sort: bool = True) List[Type[SocketEvent]][source]

Module contents

class divera.triggers.AttributeChanged(obj, attribute_name: str, old_value)[source]

Bases: ObjectInteraction

class divera.triggers.AttributesChanged(obj, old_values: dict)[source]

Bases: ObjectInteraction

class divera.triggers.ObjectCreated(obj: Model)[source]

Bases: ObjectInteraction

class divera.triggers.ObjectInteraction(obj: Model)[source]

Bases: Trigger

class divera.triggers.ObjectRemoved(obj: Model)[source]

Bases: ObjectInteraction

class divera.triggers.Trigger[source]

Bases: ABC

async divera.triggers.get_object_changes(new_objects: List[Model], old_objects: List[Model])[source]

Find the differences between two lists of objects.

Parameters:
  • new_objects – The list of objects that comes fresh from the api (in most cases).

  • old_objects – The list of objects that has been stored in memory since the previous API call.

Returns:

Trigger (or subclass) objects that describe the type of change that has been detected.