fix(ftrack): wasnt integrating properly plates into correct hierarchy

This commit is contained in:
Jakub Jezek 2019-05-30 18:25:03 +02:00
parent aeaeb88b67
commit 56bd87c253
3 changed files with 29 additions and 8 deletions

View file

@ -56,7 +56,22 @@ class IntegrateFtrackApi(pyblish.api.InstancePlugin):
def process(self, instance):
session = instance.context.data["ftrackSession"]
task = instance.context.data["ftrackTask"]
if instance.data.get("ftrackTask"):
task = instance.data["ftrackTask"]
name = task
parent = task["parent"]
elif instance.data.get("ftrackEntity"):
task = None
name = instance.data.get("ftrackEntity")['name']
parent = instance.data.get("ftrackEntity")
elif instance.context.data.get("ftrackTask"):
task = instance.context.data["ftrackTask"]
name = task
parent = task["parent"]
elif instance.context.data.get("ftrackEntity"):
task = None
name = instance.context.data.get("ftrackEntity")['name']
parent = instance.context.data.get("ftrackEntity")
info_msg = "Created new {entity_type} with data: {data}"
info_msg += ", metadata: {metadata}."
@ -68,6 +83,7 @@ class IntegrateFtrackApi(pyblish.api.InstancePlugin):
# Get existing entity.
assettype_data = {"short": "upload"}
assettype_data.update(data.get("assettype_data", {}))
self.log.debug("data: {}".format(data))
assettype_entity = session.query(
self.query("AssetType", assettype_data)
@ -83,9 +99,9 @@ class IntegrateFtrackApi(pyblish.api.InstancePlugin):
# Asset
# Get existing entity.
asset_data = {
"name": task["name"],
"name": name,
"type": assettype_entity,
"parent": task["parent"],
"parent": parent,
}
asset_data.update(data.get("asset_data", {}))
@ -120,8 +136,10 @@ class IntegrateFtrackApi(pyblish.api.InstancePlugin):
assetversion_data = {
"version": 0,
"asset": asset_entity,
"task": task
}
if task:
assetversion_data['task'] = task
assetversion_data.update(data.get("assetversion_data", {}))
assetversion_entity = session.query(

View file

@ -25,7 +25,9 @@ class IntegrateFtrackInstance(pyblish.api.InstancePlugin):
'write': 'img',
'render': 'render',
'nukescript': 'comp',
'review': 'mov'}
'review': 'mov',
'plates': 'img'
}
def process(self, instance):
self.log.debug('instance {}'.format(instance))

View file

@ -45,7 +45,7 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin):
def import_to_ftrack(self, input_data, parent=None):
for entity_name in input_data:
entity_data = input_data[entity_name]
entity_type = entity_data['entity_type'].capitalize()
entity_type = entity_data['entity_type']
if entity_type.lower() == 'project':
query = 'Project where full_name is "{}"'.format(entity_name)
@ -85,8 +85,9 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin):
'Missing custom attribute')
entity['custom_attributes'][key] = custom_attributes[key]
for instance in instances:
instance.data['ftrackShotId'] = entity['id']
instance.data['ftrackEntity'] = entity
self.session.commit()
@ -108,7 +109,7 @@ class IntegrateHierarchyToFtrack(pyblish.api.ContextPlugin):
for task in tasks_to_create:
self.create_task(
name=task,
task_type=task.capitalize(),
task_type=task,
parent=entity
)
self.session.commit()