mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 13:24:54 +01:00
added aditional check in event sync to avalon for cases when avalon ent exists but don't have ftrackId
This commit is contained in:
parent
1f96a74bac
commit
415ec47f9d
1 changed files with 45 additions and 1 deletions
|
|
@ -131,7 +131,9 @@ class SyncToAvalonEvent(BaseEvent):
|
|||
ftrack_id = proj["data"]["ftrackId"]
|
||||
self._avalon_ents_by_ftrack_id[ftrack_id] = proj
|
||||
for ent in ents:
|
||||
ftrack_id = ent["data"]["ftrackId"]
|
||||
ftrack_id = ent["data"].get("ftrackId")
|
||||
if ftrack_id is None:
|
||||
continue
|
||||
self._avalon_ents_by_ftrack_id[ftrack_id] = ent
|
||||
return self._avalon_ents_by_ftrack_id
|
||||
|
||||
|
|
@ -1427,6 +1429,48 @@ class SyncToAvalonEvent(BaseEvent):
|
|||
parent_id = ent_info["parentId"]
|
||||
new_tasks_by_parent[parent_id].append(ent_info)
|
||||
pop_out_ents.append(ftrack_id)
|
||||
continue
|
||||
|
||||
name = (
|
||||
ent_info
|
||||
.get("changes", {})
|
||||
.get("name", {})
|
||||
.get("new")
|
||||
)
|
||||
avalon_ent_by_name = self.avalon_ents_by_name.get(name)
|
||||
avalon_ent_by_name_ftrack_id = (
|
||||
avalon_ent_by_name
|
||||
.get("data", {})
|
||||
.get("ftrackId")
|
||||
)
|
||||
if avalon_ent_by_name and avalon_ent_by_name_ftrack_id is None:
|
||||
ftrack_ent = self.ftrack_ents_by_id.get(ftrack_id)
|
||||
if not ftrack_ent:
|
||||
ftrack_ent = self.process_session.query(
|
||||
self.entities_query_by_id.format(
|
||||
self.cur_project["id"], ftrack_id
|
||||
)
|
||||
).one()
|
||||
self.ftrack_ents_by_id[ftrack_id] = ftrack_ent
|
||||
|
||||
ent_path_items = [ent["name"] for ent in ftrack_ent["link"]]
|
||||
parents = ent_path_items[1:len(ent_path_items)-1:]
|
||||
|
||||
avalon_ent_parents = (
|
||||
avalon_ent_by_name.get("data", {}).get("parents")
|
||||
)
|
||||
if parents == avalon_ent_parents:
|
||||
self.dbcon.update_one({
|
||||
"_id": avalon_ent_by_name["_id"]
|
||||
}, {
|
||||
"data.ftrackId": ftrack_id,
|
||||
"data.entityType": entity_type
|
||||
})
|
||||
self._avalon_ents_by_ftrack_id[ftrack_id] = (
|
||||
avalon_ent_by_name
|
||||
)
|
||||
pop_out_ents.append(ftrack_id)
|
||||
continue
|
||||
|
||||
configuration_id = entity_type_conf_ids.get(entity_type)
|
||||
if not configuration_id:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue