From 7038387ba34f5cfc20da22a503d7e8243c8d57c3 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Fri, 28 Jun 2019 17:18:57 +0200 Subject: [PATCH] avalon entities `data` are not overriden but updated (due to hierarchical attributes) --- pype/ftrack/lib/avalon_sync.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/pype/ftrack/lib/avalon_sync.py b/pype/ftrack/lib/avalon_sync.py index f67b39d076..d15c4f4d65 100644 --- a/pype/ftrack/lib/avalon_sync.py +++ b/pype/ftrack/lib/avalon_sync.py @@ -132,13 +132,22 @@ def import_to_avalon( entity, session, custom_attributes ) + cur_data = av_project.get('data') or {} + + enter_data = {} + for k, v in cur_data.items(): + enter_data[k] = v + for k, v in data.items(): + enter_data[k] = v + database[project_name].update_many( {'_id': ObjectId(projectId)}, {'$set': { 'name': project_name, 'config': config, - 'data': data, - }}) + 'data': data + }} + ) entity['custom_attributes'][ca_mongoid] = str(projectId) session.commit() @@ -293,6 +302,18 @@ def import_to_avalon( output['errors'] = errors return output + avalon_asset = database[project_name].find_one( + {'_id': ObjectId(mongo_id)} + ) + + cur_data = avalon_asset.get('data') or {} + + enter_data = {} + for k, v in cur_data.items(): + enter_data[k] = v + for k, v in data.items(): + enter_data[k] = v + database[project_name].update_many( {'_id': ObjectId(mongo_id)}, {'$set': {