mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Merge pull request #5061 from fabiaserra/bugfix/nuke_template_workfile
This commit is contained in:
commit
c8cd4595c2
3 changed files with 47 additions and 19 deletions
|
|
@ -244,8 +244,14 @@ class MayaPlaceholderLoadPlugin(PlaceholderPlugin, PlaceholderLoadMixin):
|
|||
return self.get_load_plugin_options(options)
|
||||
|
||||
def post_placeholder_process(self, placeholder, failed):
|
||||
"""Hide placeholder, add them to placeholder set
|
||||
"""Cleanup placeholder after load of its corresponding representations.
|
||||
|
||||
Args:
|
||||
placeholder (PlaceholderItem): Item which was just used to load
|
||||
representation.
|
||||
failed (bool): Loading of representation failed.
|
||||
"""
|
||||
# Hide placeholder and add them to placeholder set
|
||||
node = placeholder.scene_identifier
|
||||
|
||||
cmds.sets(node, addElement=PLACEHOLDER_SET)
|
||||
|
|
|
|||
|
|
@ -163,8 +163,10 @@ class NukePlaceholderLoadPlugin(NukePlaceholderPlugin, PlaceholderLoadMixin):
|
|||
)
|
||||
return loaded_representation_ids
|
||||
|
||||
def _before_repre_load(self, placeholder, representation):
|
||||
def _before_placeholder_load(self, placeholder):
|
||||
placeholder.data["nodes_init"] = nuke.allNodes()
|
||||
|
||||
def _before_repre_load(self, placeholder, representation):
|
||||
placeholder.data["last_repre_id"] = str(representation["_id"])
|
||||
|
||||
def collect_placeholders(self):
|
||||
|
|
@ -197,6 +199,13 @@ class NukePlaceholderLoadPlugin(NukePlaceholderPlugin, PlaceholderLoadMixin):
|
|||
return self.get_load_plugin_options(options)
|
||||
|
||||
def post_placeholder_process(self, placeholder, failed):
|
||||
"""Cleanup placeholder after load of its corresponding representations.
|
||||
|
||||
Args:
|
||||
placeholder (PlaceholderItem): Item which was just used to load
|
||||
representation.
|
||||
failed (bool): Loading of representation failed.
|
||||
"""
|
||||
# deselect all selected nodes
|
||||
placeholder_node = nuke.toNode(placeholder.scene_identifier)
|
||||
|
||||
|
|
@ -603,6 +612,13 @@ class NukePlaceholderCreatePlugin(
|
|||
return self.get_create_plugin_options(options)
|
||||
|
||||
def post_placeholder_process(self, placeholder, failed):
|
||||
"""Cleanup placeholder after load of its corresponding representations.
|
||||
|
||||
Args:
|
||||
placeholder (PlaceholderItem): Item which was just used to load
|
||||
representation.
|
||||
failed (bool): Loading of representation failed.
|
||||
"""
|
||||
# deselect all selected nodes
|
||||
placeholder_node = nuke.toNode(placeholder.scene_identifier)
|
||||
|
||||
|
|
|
|||
|
|
@ -1472,8 +1472,15 @@ class PlaceholderLoadMixin(object):
|
|||
context_filters=context_filters
|
||||
))
|
||||
|
||||
def _before_placeholder_load(self, placeholder):
|
||||
"""Can be overridden. It's called before placeholder representations
|
||||
are loaded.
|
||||
"""
|
||||
|
||||
pass
|
||||
|
||||
def _before_repre_load(self, placeholder, representation):
|
||||
"""Can be overriden. Is called before representation is loaded."""
|
||||
"""Can be overridden. It's called before representation is loaded."""
|
||||
|
||||
pass
|
||||
|
||||
|
|
@ -1506,7 +1513,7 @@ class PlaceholderLoadMixin(object):
|
|||
return output
|
||||
|
||||
def populate_load_placeholder(self, placeholder, ignore_repre_ids=None):
|
||||
"""Load placeholder is goind to load matching representations.
|
||||
"""Load placeholder is going to load matching representations.
|
||||
|
||||
Note:
|
||||
Ignore repre ids is to avoid loading the same representation again
|
||||
|
|
@ -1528,7 +1535,7 @@ class PlaceholderLoadMixin(object):
|
|||
|
||||
# TODO check loader existence
|
||||
loader_name = placeholder.data["loader"]
|
||||
loader_args = placeholder.data["loader_args"]
|
||||
loader_args = self.parse_loader_args(placeholder.data["loader_args"])
|
||||
|
||||
placeholder_representations = self._get_representations(placeholder)
|
||||
|
||||
|
|
@ -1550,6 +1557,11 @@ class PlaceholderLoadMixin(object):
|
|||
self.project_name, filtered_representations
|
||||
)
|
||||
loaders_by_name = self.builder.get_loaders_by_name()
|
||||
self._before_placeholder_load(
|
||||
placeholder
|
||||
)
|
||||
|
||||
failed = False
|
||||
for repre_load_context in repre_load_contexts.values():
|
||||
representation = repre_load_context["representation"]
|
||||
repre_context = representation["context"]
|
||||
|
|
@ -1562,24 +1574,24 @@ class PlaceholderLoadMixin(object):
|
|||
repre_context["subset"],
|
||||
repre_context["asset"],
|
||||
loader_name,
|
||||
loader_args
|
||||
placeholder.data["loader_args"],
|
||||
)
|
||||
)
|
||||
try:
|
||||
container = load_with_repre_context(
|
||||
loaders_by_name[loader_name],
|
||||
repre_load_context,
|
||||
options=self.parse_loader_args(loader_args)
|
||||
options=loader_args
|
||||
)
|
||||
|
||||
except Exception:
|
||||
failed = True
|
||||
self.load_failed(placeholder, representation)
|
||||
|
||||
failed = True
|
||||
else:
|
||||
failed = False
|
||||
self.load_succeed(placeholder, container)
|
||||
self.post_placeholder_process(placeholder, failed)
|
||||
|
||||
# Run post placeholder process after load of all representations
|
||||
self.post_placeholder_process(placeholder, failed)
|
||||
|
||||
if failed:
|
||||
self.log.debug(
|
||||
|
|
@ -1599,10 +1611,7 @@ class PlaceholderLoadMixin(object):
|
|||
placeholder.load_succeed(container)
|
||||
|
||||
def post_placeholder_process(self, placeholder, failed):
|
||||
"""Cleanup placeholder after load of single representation.
|
||||
|
||||
Can be called multiple times during placeholder item populating and is
|
||||
called even if loading failed.
|
||||
"""Cleanup placeholder after load of its corresponding representations.
|
||||
|
||||
Args:
|
||||
placeholder (PlaceholderItem): Item which was just used to load
|
||||
|
|
@ -1801,10 +1810,7 @@ class PlaceholderCreateMixin(object):
|
|||
placeholder.create_succeed(creator_instance)
|
||||
|
||||
def post_placeholder_process(self, placeholder, failed):
|
||||
"""Cleanup placeholder after load of single representation.
|
||||
|
||||
Can be called multiple times during placeholder item populating and is
|
||||
called even if loading failed.
|
||||
"""Cleanup placeholder after load of its corresponding representations.
|
||||
|
||||
Args:
|
||||
placeholder (PlaceholderItem): Item which was just used to load
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue