mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
Merge branch 'develop' into bugfix/fix-publish-plugin-loading2
This commit is contained in:
commit
86a7182e62
1 changed files with 45 additions and 45 deletions
|
|
@ -839,7 +839,7 @@ class CreateContext:
|
||||||
publish_attributes.update(output)
|
publish_attributes.update(output)
|
||||||
|
|
||||||
for plugin in self.plugins_with_defs:
|
for plugin in self.plugins_with_defs:
|
||||||
attr_defs = plugin.get_attr_defs_for_context (self)
|
attr_defs = plugin.get_attr_defs_for_context(self)
|
||||||
if not attr_defs:
|
if not attr_defs:
|
||||||
continue
|
continue
|
||||||
self._publish_attributes.set_publish_plugin_attr_defs(
|
self._publish_attributes.set_publish_plugin_attr_defs(
|
||||||
|
|
@ -1259,50 +1259,6 @@ class CreateContext:
|
||||||
with self._bulk_context("add", sender) as bulk_info:
|
with self._bulk_context("add", sender) as bulk_info:
|
||||||
yield bulk_info
|
yield bulk_info
|
||||||
|
|
||||||
# Set publish attributes before bulk context is exited
|
|
||||||
for instance in bulk_info.get_data():
|
|
||||||
publish_attributes = instance.publish_attributes
|
|
||||||
# Prepare publish plugin attributes and set it on instance
|
|
||||||
for plugin in self.plugins_with_defs:
|
|
||||||
try:
|
|
||||||
if is_func_signature_supported(
|
|
||||||
plugin.convert_attribute_values, self, instance
|
|
||||||
):
|
|
||||||
plugin.convert_attribute_values(self, instance)
|
|
||||||
|
|
||||||
elif plugin.__instanceEnabled__:
|
|
||||||
output = plugin.convert_attribute_values(
|
|
||||||
publish_attributes
|
|
||||||
)
|
|
||||||
if output:
|
|
||||||
publish_attributes.update(output)
|
|
||||||
|
|
||||||
except Exception:
|
|
||||||
self.log.error(
|
|
||||||
"Failed to convert attribute values of"
|
|
||||||
f" plugin '{plugin.__name__}'",
|
|
||||||
exc_info=True
|
|
||||||
)
|
|
||||||
|
|
||||||
for plugin in self.plugins_with_defs:
|
|
||||||
attr_defs = None
|
|
||||||
try:
|
|
||||||
attr_defs = plugin.get_attr_defs_for_instance(
|
|
||||||
self, instance
|
|
||||||
)
|
|
||||||
except Exception:
|
|
||||||
self.log.error(
|
|
||||||
"Failed to get attribute definitions"
|
|
||||||
f" from plugin '{plugin.__name__}'.",
|
|
||||||
exc_info=True
|
|
||||||
)
|
|
||||||
|
|
||||||
if not attr_defs:
|
|
||||||
continue
|
|
||||||
instance.set_publish_plugin_attr_defs(
|
|
||||||
plugin.__name__, attr_defs
|
|
||||||
)
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def bulk_instances_collection(self, sender=None):
|
def bulk_instances_collection(self, sender=None):
|
||||||
"""DEPRECATED use 'bulk_add_instances' instead."""
|
"""DEPRECATED use 'bulk_add_instances' instead."""
|
||||||
|
|
@ -2251,6 +2207,50 @@ class CreateContext:
|
||||||
if not instances_to_validate:
|
if not instances_to_validate:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Set publish attributes before bulk callbacks are triggered
|
||||||
|
for instance in instances_to_validate:
|
||||||
|
publish_attributes = instance.publish_attributes
|
||||||
|
# Prepare publish plugin attributes and set it on instance
|
||||||
|
for plugin in self.plugins_with_defs:
|
||||||
|
try:
|
||||||
|
if is_func_signature_supported(
|
||||||
|
plugin.convert_attribute_values, self, instance
|
||||||
|
):
|
||||||
|
plugin.convert_attribute_values(self, instance)
|
||||||
|
|
||||||
|
elif plugin.__instanceEnabled__:
|
||||||
|
output = plugin.convert_attribute_values(
|
||||||
|
publish_attributes
|
||||||
|
)
|
||||||
|
if output:
|
||||||
|
publish_attributes.update(output)
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
self.log.error(
|
||||||
|
"Failed to convert attribute values of"
|
||||||
|
f" plugin '{plugin.__name__}'",
|
||||||
|
exc_info=True
|
||||||
|
)
|
||||||
|
|
||||||
|
for plugin in self.plugins_with_defs:
|
||||||
|
attr_defs = None
|
||||||
|
try:
|
||||||
|
attr_defs = plugin.get_attr_defs_for_instance(
|
||||||
|
self, instance
|
||||||
|
)
|
||||||
|
except Exception:
|
||||||
|
self.log.error(
|
||||||
|
"Failed to get attribute definitions"
|
||||||
|
f" from plugin '{plugin.__name__}'.",
|
||||||
|
exc_info=True
|
||||||
|
)
|
||||||
|
|
||||||
|
if not attr_defs:
|
||||||
|
continue
|
||||||
|
instance.set_publish_plugin_attr_defs(
|
||||||
|
plugin.__name__, attr_defs
|
||||||
|
)
|
||||||
|
|
||||||
# Cache folder and task entities for all instances at once
|
# Cache folder and task entities for all instances at once
|
||||||
self.get_instances_context_info(instances_to_validate)
|
self.get_instances_context_info(instances_to_validate)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue