ftrack_api.entity.base

class ftrack_api.entity.base.DynamicEntityTypeMetaclass(name, bases, namespace, **kwargs)[source]

Custom metaclass to customise representation of dynamic classes.

Note

Derive from same metaclass as derived bases to avoid conflicts.

__init__(*args, **kwargs)
mro()

Return a type’s method resolution order.

register(subclass)

Register a virtual subclass of an ABC.

Returns the subclass, to allow usage as a class decorator.

class ftrack_api.entity.base.Entity(session, data=None, reconstructing=False)[source]

Base class for all entities.

entity_type = 'Entity'
attributes = None
primary_key_attributes = None
default_projections = None
__init__(session, data=None, reconstructing=False)[source]

Initialise entity.

session is an instance of ftrack_api.session.Session that this entity instance is bound to.

data is a mapping of key, value pairs to apply as initial attribute values.

reconstructing indicates whether this entity is being reconstructed, such as from a query, and therefore should not have any special creation logic applied, such as initialising defaults for missing data.

values()[source]

Return list of values.

items()[source]

Return list of tuples of (key, value) pairs.

Note

Will fetch all values from the server if not already fetched or set locally.

clear()[source]

Reset all locally modified attribute values.

merge(entity, merged=None)[source]

Merge entity attribute values and other data into this entity.

Only merge values from entity that are not ftrack_api.symbol.NOT_SET.

Return a list of changes made with each change being a mapping with the keys:

  • type - Either ‘remote_attribute’, ‘local_attribute’ or ‘property’.

  • name - The name of the attribute / property modified.

  • old_value - The previous value.

  • new_value - The new merged value.

get(k[, d]) D[k] if k in D, else d.  d defaults to None.
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