diff --git a/openpype/modules/ftrack/lib/avalon_sync.py b/openpype/modules/ftrack/lib/avalon_sync.py index 7511c2627b..8a453f8935 100644 --- a/openpype/modules/ftrack/lib/avalon_sync.py +++ b/openpype/modules/ftrack/lib/avalon_sync.py @@ -26,6 +26,8 @@ from pymongo import UpdateOne import ftrack_api from openpype.lib import ApplicationManager +from .settings import get_ftrack_settings + log = Logger.get_logger(__name__) @@ -1221,6 +1223,12 @@ class SyncEntitiesFactory: def prepare_ftrack_ent_data(self): not_set_ids = [] + # Prepare short task type mapping + _task_short_names = get_ftrack_settings()["task_short_names"] + task_short_names = { + key.lower(): value + for key, value in _task_short_names.items() + } for id, entity_dict in self.entities_dict.items(): entity = entity_dict["entity"] if entity is None: @@ -1259,11 +1267,10 @@ class SyncEntitiesFactory: tasks = {} for task_type in task_types: task_type_name = task_type["name"] - # Set short name to empty string - # QUESTION Maybe better would be to lower and remove spaces - # from task type name. + # Set short name to mapping from settings or empty string + short_name = task_short_names.get(task_type_name.lower()) tasks[task_type_name] = { - "short_name": "" + "short_name": short_name or "" } current_project_anatomy_data = get_anatomy_settings( diff --git a/openpype/modules/ftrack/lib/settings.py b/openpype/modules/ftrack/lib/settings.py index f6967411db..027356edc6 100644 --- a/openpype/modules/ftrack/lib/settings.py +++ b/openpype/modules/ftrack/lib/settings.py @@ -1,6 +1,7 @@ import os from openpype.api import get_system_settings + def get_ftrack_settings(): return get_system_settings()["modules"]["ftrack"] @@ -10,7 +11,6 @@ def get_ftrack_url_from_settings(): def get_ftrack_event_mongo_info(): - ftrack_settings = get_ftrack_settings() database_name = os.environ["OPENPYPE_DATABASE_NAME"] collection_name = "ftrack_events" return database_name, collection_name