Search the Community
Showing results for tags 'entity'.
Found 3 results
Hello, My Question is: How can I create new entity types using the python api. when i create an new session object with the python api using: session = ftrack_api.Session(server_url=server_url, api_key=api_key, api_user=api_user) I can query all types using: session_types = session.types Now i am checking if all entity types our pipeline requires are present in this session using something like: session_types.get(required_entity) However if the expected entity types are NOT present -> meaning FTrack is not yet configured in the way the it needs to be for the pipeline. I want to create the missing entity types using the python api. In the GUI I would simply create new objects for each missing entity type like this: And then I would create a schema using the required objects / (entity types) and make sure that the projects are always using this schema: But I am having trouble to understand the correct way of doing so using the python api. As far as I understand the entity types are generated dynamically at the beginning of a session. The "StandardFactory" class takes care of it by creating the types specified in the existing "ProjectSchema" 's Workflow like so ? Create a new ProjectSchema? While doing so I pass in the new Entity Types I want to have created with this schema? But how can I define those new entity types? Some informatison from the docs I collected so far: " When a Session is constructed it fetches schema details from the connected server and then calls an Entity factory to create classes from those schemas. It does this by emitting a synchronous event, ftrack.api.session.construct entity-type, for each schema and expecting a class object to be returned. " http://ftrack-python-api.rtd.ftrack.com/en/stable/working_with_entities.html#customising-entity-types Regarding working with Project Schema's I only found these small snippets from the docs which do NOT show how to create a new schema: http://ftrack-python-api.rtd.ftrack.com/en/stable/example/project.html?highlight=schemas The information provided in the "Working with entities - Customising entity types" also links to this page "Understanding sessions - Configuring plugins" and the provided python file "cunstruct_entity_type.py" shows how to register a plugin but does not show how to actually create a new entity type. I hope someone can point me to the right direction! Thank you in advance, Lukas
Hi folks, My company has just updated our installation of Ftrack, and I would like to take advantage of the new features for linking dependencies in my code, specifically the AssetVersionLink entity. Can you please provide a use case that can illustrate some of the properties of this entity? How does it differ from usesVersions()? Is it supposed to replace it, or are we supposed to use them in tandem? There is no documentation on this feature, so any information would be very helpful. Thanks, Kim
I'm trying to figure out how to query what an item is based on user selection. In my tool, a user might be selecting a Sequence, Task, Shot, etc and I'd like different things to happen based on their selection. Is there any way to query this with the new API? The docs seem to just show how to query something only if you know exactly what entity type you want. I have this right now: dir_contents =  for item in project['children']: dir_contents.append( item ) for item in dir_contents: item_name = item['name'] item_type = item['context_type'] item_id = item['id'] When I tested this code out by selecting a Sequence entity, I printed out every attribute and expected to find 'sequence' as a value somewhere, but only the attribute, context_type, resulted in something close to what I was looking for ( print item['context_type'] resulted in 'task' as a value ) Thanks for any help!