ftrack_api.event.base

class ftrack_api.event.base.Event(topic, id=None, data=None, sent=None, source=None, target='', in_reply_to_event=None)[source]

Represent a single event.

__init__(topic, id=None, data=None, sent=None, source=None, target='', in_reply_to_event=None)[source]

Initialise event.

topic is the required topic for the event. It can use a dotted notation to demarcate groupings. For example, ‘ftrack.update’.

id is the unique id for this event instance. It is primarily used when replying to an event. If not supplied a default uuid based value will be used.

data refers to event specific data. It should be a mapping structure and defaults to an empty dictionary if not supplied.

sent is the timestamp the event is sent. It will be set automatically as send time unless specified here.

source is information about where the event originated. It should be a mapping and include at least a unique id value under an ‘id’ key. If not specified, senders usually populate the value automatically at publish time.

target can be an expression that targets this event. For example, a reply event would target the event to the sender of the source event. The expression will be tested against subscriber information only.

in_reply_to_event is used when replying to an event and should contain the unique id of the event being replied to.

stop()[source]

Stop further processing of this event.

is_stopped()[source]

Return whether event has been stopped.

clear() → None. Remove all items from D.
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items() → a set-like object providing a view on D's items
keys() → a set-like object providing a view on D's keys
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) → None. Update D from mapping/iterable E and F.

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

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