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.
- 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.
- 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