Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Maya template builder load all assets linked to the shot #4761

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion openpype/client/entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -1216,7 +1216,7 @@ def get_representations(
version_ids=version_ids,
context_filters=context_filters,
names_by_version_ids=names_by_version_ids,
standard=True,
BigRoy marked this conversation as resolved.
Show resolved Hide resolved
standard=standard,
archived=archived,
fields=fields
)
Expand Down
20 changes: 1 addition & 19 deletions openpype/hosts/maya/api/workfile_template_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,26 +234,10 @@ def get_placeholder_options(self, options=None):
return self.get_load_plugin_options(options)

def cleanup_placeholder(self, placeholder, failed):
"""Hide placeholder, parent them to root
add them to placeholder set and register placeholder's parent
to keep placeholder info available for future use
"""Hide placeholder, add them to placeholder set
"""

node = placeholder._scene_identifier
node_parent = placeholder.data["parent"]
if node_parent:
cmds.setAttr(node + ".parent", node_parent, type="string")

if cmds.getAttr(node + ".index") < 0:
cmds.setAttr(node + ".index", placeholder.data["index"])

holding_sets = cmds.listSets(object=node)
if holding_sets:
for set in holding_sets:
cmds.sets(node, remove=set)

if cmds.listRelatives(node, p=True):
node = cmds.parent(node, world=True)[0]
BigRoy marked this conversation as resolved.
Show resolved Hide resolved
cmds.sets(node, addElement=PLACEHOLDER_SET)
cmds.hide(node)
cmds.setAttr(node + ".hiddenInOutliner", True)
Expand Down Expand Up @@ -286,8 +270,6 @@ def _parent_in_hierarchy(self, placeholder, container):
elif not cmds.sets(root, q=True):
return

if placeholder.data["parent"]:
cmds.parent(nodes_to_parent, placeholder.data["parent"])
# Move loaded nodes to correct index in outliner hierarchy
placeholder_form = cmds.xform(
placeholder.scene_identifier,
Expand Down
33 changes: 15 additions & 18 deletions openpype/pipeline/workfile/workfile_template_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ def current_asset_doc(self):
def linked_asset_docs(self):
if self._linked_asset_docs is None:
self._linked_asset_docs = get_linked_assets(
self.current_asset_doc
self.project_name, self.current_asset_doc
)
return self._linked_asset_docs

Expand Down Expand Up @@ -1151,13 +1151,10 @@ def log(self):
return self._log

def __repr__(self):
name = None
if hasattr("name", self):
name = self.name
if hasattr("_scene_identifier ", self):
name = self._scene_identifier

return "< {} {} >".format(self.__class__.__name__, name)
return "< {} {} >".format(
self.__class__.__name__,
self._scene_identifier
)

@property
def order(self):
Expand Down Expand Up @@ -1419,16 +1416,7 @@ def _get_representations(self, placeholder):
"family": [placeholder.data["family"]]
}

elif builder_type != "linked_asset":
context_filters = {
"asset": [re.compile(placeholder.data["asset"])],
"subset": [re.compile(placeholder.data["subset"])],
"hierarchy": [re.compile(placeholder.data["hierarchy"])],
"representation": [placeholder.data["representation"]],
"family": [placeholder.data["family"]]
}

else:
elif builder_type == "linked_asset":
asset_regex = re.compile(placeholder.data["asset"])
linked_asset_names = []
for asset_doc in linked_asset_docs:
Expand All @@ -1444,6 +1432,15 @@ def _get_representations(self, placeholder):
"family": [placeholder.data["family"]],
}

else:
context_filters = {
"asset": [re.compile(placeholder.data["asset"])],
"subset": [re.compile(placeholder.data["subset"])],
"hierarchy": [re.compile(placeholder.data["hierarchy"])],
"representation": [placeholder.data["representation"]],
"family": [placeholder.data["family"]]
}

return list(get_representations(
project_name,
context_filters=context_filters
Expand Down