From 7889b2a360116be4218366395219bee39ea41fe5 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 3 Dec 2020 18:46:09 +0100 Subject: [PATCH] don't use get_presets in avalon_sync --- pype/modules/ftrack/lib/avalon_sync.py | 42 +++++++++----------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/pype/modules/ftrack/lib/avalon_sync.py b/pype/modules/ftrack/lib/avalon_sync.py index a379aa9900..0716a5975f 100644 --- a/pype/modules/ftrack/lib/avalon_sync.py +++ b/pype/modules/ftrack/lib/avalon_sync.py @@ -8,13 +8,12 @@ import copy from avalon.api import AvalonMongoDB import avalon -from pype.api import Logger, Anatomy +from pype.api import Logger, Anatomy, get_anatomy_data from bson.objectid import ObjectId from bson.errors import InvalidId from pymongo import UpdateOne import ftrack_api -from pype.api import config from pype.lib import ApplicationManager log = Logger().get_logger(__name__) @@ -276,28 +275,6 @@ def get_hierarchical_attributes(session, entity, attr_names, attr_defaults={}): return hier_values -def get_task_short_name(task_type): - """ - Returns short name (code) for 'task_type'. Short name stored in - metadata dictionary in project.config per each 'task_type'. - Could be used in anatomy, paths etc. - If no appropriate short name is found in mapping, 'task_type' is - returned back unchanged. - - Currently stores data in: - 'pype-config/presets/ftrack/project_defaults.json' - Args: - task_type: (string) - Animation | Modeling ... - - Returns: - (string) - anim | model ... - """ - presets = config.get_presets()['ftrack']['project_defaults']\ - .get("task_short_names") - - return presets.get(task_type, task_type) - - class SyncEntitiesFactory: dbcon = AvalonMongoDB() @@ -1118,6 +1095,13 @@ class SyncEntitiesFactory: ) def prepare_ftrack_ent_data(self): + project_name = self.entities_dict[self.ft_project_id]["name"] + project_anatomy_data = get_anatomy_data(project_name) + + task_type_mapping = ( + project_anatomy_data["attributes"]["task_short_names"] + ) + not_set_ids = [] for id, entity_dict in self.entities_dict.items(): entity = entity_dict["entity"] @@ -1154,10 +1138,12 @@ class SyncEntitiesFactory: continue self.report_items["warning"][msg] = items tasks = {} - for tt in task_types: - tasks[tt["name"]] = { - "short_name": get_task_short_name(tt["name"]) - } + for task_type in task_types: + task_type_name = task_type["name"] + short_name = task_type_mapping.get(task_type_name) + tasks[task_type_name] = { + "short_name": short_name or task_type_name + } self.entities_dict[id]["final_entity"]["config"] = { "tasks": tasks, "apps": proj_apps