diff --git a/pype/ftrack/lib/avalon_sync.py b/pype/ftrack/lib/avalon_sync.py index cb33c76a30..346bdceeb9 100644 --- a/pype/ftrack/lib/avalon_sync.py +++ b/pype/ftrack/lib/avalon_sync.py @@ -406,7 +406,9 @@ def get_data(entity, session, custom_attributes): {'type': 'asset', 'name': parName} )['_id'] - hierarchy = os.path.sep.join(folderStruct) + hierarchy = "" + if len(folderStruct) > 0: + hierarchy = os.path.sep.join(folderStruct) data['visualParent'] = parentId data['parents'] = folderStruct diff --git a/pype/ftrack/lib/ftrack_app_handler.py b/pype/ftrack/lib/ftrack_app_handler.py index 32ccb96ba6..422d3b96dc 100644 --- a/pype/ftrack/lib/ftrack_app_handler.py +++ b/pype/ftrack/lib/ftrack_app_handler.py @@ -180,13 +180,14 @@ class AppAction(BaseHandler): os.environ["AVALON_APP_NAME"] = self.identifier anatomy = pype.Anatomy - hierarchy = database[project_name].find_one({ + hierarchy = "" + parents = database[project_name].find_one({ "type": 'asset', "name": entity['parent']['name'] })['data']['parents'] - if hierarchy: - hierarchy = os.path.join(*hierarchy) + if parents: + hierarchy = os.path.join(*parents) data = {"project": {"name": entity['project']['full_name'], "code": entity['project']['name']}, diff --git a/pype/plugins/global/publish/integrate.py b/pype/plugins/global/publish/integrate.py index f7c14d990c..6a9dde90df 100644 --- a/pype/plugins/global/publish/integrate.py +++ b/pype/plugins/global/publish/integrate.py @@ -141,10 +141,14 @@ class IntegrateAsset(pyblish.api.InstancePlugin): # \|________| # root = api.registered_root() - hierarchy = io.find_one({"type": 'asset', "name": ASSET})['data']['parents'] - if hierarchy: + hierarchy = "" + parents = io.find_one({ + "type": 'asset', + "name": ASSET + })['data']['parents'] + if parents and len(parents) > 0: # hierarchy = os.path.sep.join(hierarchy) - hierarchy = os.path.join(*hierarchy) + hierarchy = os.path.join(*parents) template_data = {"root": root, "project": {"name": PROJECT, diff --git a/pype/plugins/global/publish/integrate_rendered_frames.py b/pype/plugins/global/publish/integrate_rendered_frames.py index 08ddbddd99..48881d25a1 100644 --- a/pype/plugins/global/publish/integrate_rendered_frames.py +++ b/pype/plugins/global/publish/integrate_rendered_frames.py @@ -142,11 +142,12 @@ class IntegrateFrames(pyblish.api.InstancePlugin): # \|________| # root = api.registered_root() - hierarchy = io.find_one({"type": 'asset', "name": ASSET})[ + hierarchy = "" + parents = io.find_one({"type": 'asset', "name": ASSET})[ 'data']['parents'] - if hierarchy: + if parents and len(parents) > 0: # hierarchy = os.path.sep.join(hierarchy) - hierarchy = os.path.join(*hierarchy) + hierarchy = os.path.join(*parents) template_data = {"root": root, "project": {"name": PROJECT, diff --git a/pype/templates.py b/pype/templates.py index 5fe41f6899..0b37219bd2 100644 --- a/pype/templates.py +++ b/pype/templates.py @@ -167,14 +167,16 @@ def get_hierarchy(): string: asset hierarchy path """ - hierarchy = io.find_one({ + parents = io.find_one({ "type": 'asset', "name": get_asset()} )['data']['parents'] - if hierarchy: + hierarchy = "" + if parents and len(parents) > 0: # hierarchy = os.path.sep.join(hierarchy) - return os.path.join(*hierarchy).replace("\\", "/") + hierarchy = os.path.join(*parents).replace("\\", "/") + return hierarchy def set_hierarchy(hierarchy):