diff --git a/client/ayon_houdini/api/plugin.py b/client/ayon_houdini/api/plugin.py index a621a2f56c..0291ea47d6 100644 --- a/client/ayon_houdini/api/plugin.py +++ b/client/ayon_houdini/api/plugin.py @@ -16,11 +16,19 @@ AYON_INSTANCE_ID, AVALON_INSTANCE_ID, load, - publish + publish, + PublishError ) from ayon_core.lib import BoolDef -from .lib import imprint, read, lsattr, add_self_publish_button, render_rop +from .lib import ( + imprint, + read, + lsattr, + add_self_publish_button, + render_rop, + evalParmNoFrame) + from .usd import get_ayon_entity_uri_from_representation_context @@ -334,6 +342,15 @@ class HoudiniInstancePlugin(pyblish.api.InstancePlugin): hosts = ["houdini"] settings_category = SETTINGS_CATEGORY + def evalParmNoFrame(self, rop, parm, **kwargs): + try: + return evalParmNoFrame(rop, parm, **kwargs) + except Exception as exc: + raise PublishError( + f"Failed evaluating parameter '{parm}' on Rop node: {rop.path()}", + detail=f"{exc}" + ) + class HoudiniContextPlugin(pyblish.api.ContextPlugin): """Base class for Houdini context publish plugins.""" diff --git a/client/ayon_houdini/plugins/publish/collect_arnold_rop.py b/client/ayon_houdini/plugins/publish/collect_arnold_rop.py index 79361da420..92a9101861 100644 --- a/client/ayon_houdini/plugins/publish/collect_arnold_rop.py +++ b/client/ayon_houdini/plugins/publish/collect_arnold_rop.py @@ -4,9 +4,7 @@ import hou import pyblish.api -from ayon_core.pipeline import PublishError from ayon_houdini.api import plugin -from ayon_houdini.api.lib import evalParmNoFrame class CollectArnoldROPRenderProducts(plugin.HoudiniInstancePlugin): @@ -161,12 +159,3 @@ def replace(match): os.path.join(dir, (file % i)).replace("\\", "/")) return expected_files - - def evalParmNoFrame(self, rop, parm, **kwargs): - try: - return evalParmNoFrame(rop, parm, **kwargs) - except Exception as exc: - raise PublishError( - f"Failed evaluating parameter '{parm}' on Rop node: {rop.path()}", - detail=f"{exc}" - ) \ No newline at end of file diff --git a/client/ayon_houdini/plugins/publish/collect_mantra_rop.py b/client/ayon_houdini/plugins/publish/collect_mantra_rop.py index d6588025a4..88c7afc007 100644 --- a/client/ayon_houdini/plugins/publish/collect_mantra_rop.py +++ b/client/ayon_houdini/plugins/publish/collect_mantra_rop.py @@ -4,8 +4,6 @@ import hou import pyblish.api -from ayon_core.pipeline import PublishError -from ayon_houdini.api.lib import evalParmNoFrame from ayon_houdini.api import plugin @@ -138,12 +136,3 @@ def replace(match): os.path.join(dir, (file % i)).replace("\\", "/")) return expected_files - - def evalParmNoFrame(self, rop, parm, **kwargs): - try: - return evalParmNoFrame(rop, parm, **kwargs) - except Exception as exc: - raise PublishError( - f"Failed evaluating parameter '{parm}' on Rop node: {rop.path()}", - detail=f"{exc}" - ) \ No newline at end of file diff --git a/client/ayon_houdini/plugins/publish/collect_redshift_rop.py b/client/ayon_houdini/plugins/publish/collect_redshift_rop.py index 06af1b627a..0c763416b8 100644 --- a/client/ayon_houdini/plugins/publish/collect_redshift_rop.py +++ b/client/ayon_houdini/plugins/publish/collect_redshift_rop.py @@ -4,8 +4,6 @@ import hou import pyblish.api -from ayon_core.pipeline import PublishError -from ayon_houdini.api.lib import evalParmNoFrame from ayon_houdini.api import plugin @@ -164,12 +162,3 @@ def replace(match): os.path.join(dir, (file % i)).replace("\\", "/")) return expected_files - - def evalParmNoFrame(self, rop, parm, **kwargs): - try: - return evalParmNoFrame(rop, parm, **kwargs) - except Exception as exc: - raise PublishError( - f"Failed evaluating parameter '{parm}' on Rop node: {rop.path()}", - detail=f"{exc}" - ) \ No newline at end of file diff --git a/client/ayon_houdini/plugins/publish/collect_usd_render.py b/client/ayon_houdini/plugins/publish/collect_usd_render.py index 4abba65579..43ef1ae2f7 100644 --- a/client/ayon_houdini/plugins/publish/collect_usd_render.py +++ b/client/ayon_houdini/plugins/publish/collect_usd_render.py @@ -4,9 +4,7 @@ import hou import pyblish.api -from ayon_core.pipeline import PublishError from ayon_houdini.api import plugin -from ayon_houdini.api.lib import evalParmNoFrame class CollectUsdRender(plugin.HoudiniInstancePlugin): @@ -69,12 +67,3 @@ def replace_to_f(match): # stub required data for Submit Publish Job publish plug-in instance.data["attachTo"] = [] - - def evalParmNoFrame(self, rop, parm, **kwargs): - try: - return evalParmNoFrame(rop, parm, **kwargs) - except Exception as exc: - raise PublishError( - f"Failed evaluating parameter '{parm}' on Rop node: {rop.path()}", - detail=f"{exc}" - ) \ No newline at end of file diff --git a/client/ayon_houdini/plugins/publish/collect_vray_rop.py b/client/ayon_houdini/plugins/publish/collect_vray_rop.py index c44ed4245e..9d08ec1937 100644 --- a/client/ayon_houdini/plugins/publish/collect_vray_rop.py +++ b/client/ayon_houdini/plugins/publish/collect_vray_rop.py @@ -4,8 +4,6 @@ import hou import pyblish.api -from ayon_core.pipeline import PublishError -from ayon_houdini.api.lib import evalParmNoFrame from ayon_houdini.api import plugin @@ -133,12 +131,3 @@ def replace(match): os.path.join(dir, (file % i)).replace("\\", "/")) return expected_files - - def evalParmNoFrame(self, rop, parm, **kwargs): - try: - return evalParmNoFrame(rop, parm, **kwargs) - except Exception as exc: - raise PublishError( - f"Failed evaluating parameter '{parm}' on Rop node: {rop.path()}", - detail=f"{exc}" - ) \ No newline at end of file