diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py index 542abf8139..75a394a1f9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py @@ -4,9 +4,10 @@ This will add additional families to different instance based on the creator_identifier parameter. """ import pyblish.api +from ayon_houdini.api import plugin -class CollectPointcacheType(pyblish.api.InstancePlugin): +class CollectPointcacheType(plugin.HoudiniInstancePlugin): """Collect data type for different instances.""" order = pyblish.api.CollectorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_look_assets.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_look_assets.py index 9cf79e7c9b..0874cef0b6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_look_assets.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_look_assets.py @@ -9,6 +9,8 @@ import pyblish.api import hou from pxr import Sdf +from ayon_houdini.api import plugin + # Colorspace attributes differ per renderer implementation in the USD data # Some have dedicated input names like Arnold and Redshift, whereas others like @@ -46,7 +48,7 @@ def get_layer_property_paths(layer: Sdf.Layer) -> List[Sdf.Path]: return paths -class CollectUsdLookAssets(pyblish.api.InstancePlugin): +class CollectUsdLookAssets(plugin.HoudiniInstancePlugin): """Collect all assets introduced by the look. We are looking to collect e.g. all texture resources so we can transfer @@ -218,7 +220,7 @@ class CollectUsdLookAssets(pyblish.api.InstancePlugin): return colorspace_spec.default -class CollectUsdLookResourceTransfers(pyblish.api.InstancePlugin): +class CollectUsdLookResourceTransfers(plugin.HoudiniInstancePlugin): """Define the publish direct file transfers for any found resources. This ensures that any source texture will end up in the published look diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_render.py index e0f149e787..e93b753be1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_render.py @@ -4,14 +4,17 @@ import re import hou import pyblish.api -from ayon_houdini.api import colorspace +from ayon_houdini.api import ( + colorspace, + plugin +) from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences ) -class CollectUsdRender(pyblish.api.InstancePlugin): +class CollectUsdRender(plugin.HoudiniInstancePlugin): """Collect publishing data for USD Render ROP. If `rendercommand` parm is disabled (and thus no rendering triggers by the diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py index b26c60320b..62bc5e3b44 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- """Validator for checking that export is a single frame.""" -import pyblish.api from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin ) from ayon_core.pipeline.publish import ValidateContentsOrder from ayon_houdini.api.action import SelectInvalidAction +from ayon_houdini.api import plugin -class ValidateSingleFrame(pyblish.api.InstancePlugin, +class ValidateSingleFrame(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate Export is a Single Frame. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_render_products.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_render_products.py index 595f48a043..774d517bfb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_render_products.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_render_products.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- import inspect - -import pyblish.api -from ayon_core.pipeline import PublishValidationError -from ayon_houdini.api.action import SelectROPAction - import hou +import pyblish.api + +from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api.action import SelectROPAction +from ayon_houdini.api import plugin -class ValidateUsdRenderProducts(pyblish.api.InstancePlugin): +class ValidateUsdRenderProducts(plugin.HoudiniInstancePlugin): """Validate at least one render product is present""" order = pyblish.api.ValidatorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_assignments.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_assignments.py index f96b5a383e..e5037454dd 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_assignments.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_assignments.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- import inspect +import hou +from pxr import Usd, UsdShade, UsdGeom import pyblish.api @@ -8,9 +10,7 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin ) from ayon_houdini.api.action import SelectROPAction - -import hou -from pxr import Usd, UsdShade, UsdGeom +from ayon_houdini.api import plugin def has_material(prim: Usd.Prim, @@ -34,7 +34,7 @@ def has_material(prim: Usd.Prim, return False -class ValidateUsdLookAssignments(pyblish.api.InstancePlugin, +class ValidateUsdLookAssignments(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate all geometry prims have a material binding. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_contents.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_contents.py index d7bfff8c35..43357cdb35 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_contents.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_contents.py @@ -3,14 +3,14 @@ import inspect from typing import List, Union from functools import partial +import hou +from pxr import Sdf import pyblish.api from ayon_core.pipeline.publish import PublishValidationError from ayon_houdini.api.action import SelectROPAction from ayon_houdini.api.usd import get_schema_type_names - -import hou -from pxr import Sdf +from ayon_houdini.api import plugin def get_applied_items(list_proxy) -> List[Union[Sdf.Reference, Sdf.Payload]]: @@ -18,7 +18,7 @@ def get_applied_items(list_proxy) -> List[Union[Sdf.Reference, Sdf.Payload]]: return list_proxy.ApplyEditsToList([]) -class ValidateUsdLookContents(pyblish.api.InstancePlugin): +class ValidateUsdLookContents(plugin.HoudiniInstancePlugin): """Validate no meshes are defined in the look. Usually, a published look should not contain generated meshes in the output diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_material_defs.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_material_defs.py index fb146b3313..273bf46b18 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_material_defs.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_look_material_defs.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import inspect - +import hou +from pxr import Sdf, UsdShade import pyblish.api from ayon_core.pipeline.publish import ( @@ -9,12 +10,10 @@ from ayon_core.pipeline.publish import ( ) from ayon_houdini.api.action import SelectROPAction from ayon_houdini.api.usd import get_schema_type_names - -import hou -from pxr import Sdf, UsdShade +from ayon_houdini.api import plugin -class ValidateLookShaderDefs(pyblish.api.InstancePlugin, +class ValidateLookShaderDefs(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate Material primitives are defined types instead of overs""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_arnold.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_arnold.py index 2cfb9aec58..5de96e539b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_arnold.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_arnold.py @@ -1,18 +1,18 @@ # -*- coding: utf-8 -*- import inspect - -import pyblish.api - -from ayon_core.pipeline.publish import PublishValidationError, RepairAction -from ayon_houdini.api.action import SelectROPAction -from ayon_houdini.api.usd import get_usd_render_rop_rendersettings - import hou import pxr from pxr import UsdRender +import pyblish.api + +from ayon_core.pipeline.publish import PublishValidationError, RepairAction + +from ayon_houdini.api.action import SelectROPAction +from ayon_houdini.api.usd import get_usd_render_rop_rendersettings +from ayon_houdini.api import plugin -class ValidateUSDRenderSingleFile(pyblish.api.InstancePlugin): +class ValidateUSDRenderSingleFile(plugin.HoudiniInstancePlugin): """Validate the writing of a single USD Render Output file. When writing to single file with USD Render ROP make sure to write the @@ -129,7 +129,7 @@ class ValidateUSDRenderSingleFile(pyblish.api.InstancePlugin): ) -class ValidateUSDRenderArnoldSettings(pyblish.api.InstancePlugin): +class ValidateUSDRenderArnoldSettings(plugin.HoudiniInstancePlugin): """Validate USD Render Product names are correctly set absolute paths.""" order = pyblish.api.ValidatorOrder @@ -188,7 +188,7 @@ class ValidateUSDRenderArnoldSettings(pyblish.api.InstancePlugin): ) -class ValidateUSDRenderCamera(pyblish.api.InstancePlugin): +class ValidateUSDRenderCamera(plugin.HoudiniInstancePlugin): """Validate USD Render Settings refer to a valid render camera. The render camera is defined in priority by this order: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_paths.py index 4dbf7d553d..9f1c83afed 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_paths.py @@ -6,8 +6,10 @@ import pyblish.api from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin -class ValidateUSDRenderProductPaths(pyblish.api.InstancePlugin): + +class ValidateUSDRenderProductPaths(plugin.HoudiniInstancePlugin): """Validate USD Render Settings refer to a valid render camera. The publishing logic uses a metadata `.json` in the render output images' diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_rop_default_prim.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_rop_default_prim.py index 45e77b24fe..ef2472cc43 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_rop_default_prim.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_rop_default_prim.py @@ -1,16 +1,16 @@ # -*- coding: utf-8 -*- import inspect - -import pyblish.api - -from ayon_houdini.api.action import SelectROPAction -from ayon_core.pipeline import PublishValidationError - import hou from pxr import Sdf +import pyblish.api + +from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api.action import SelectROPAction +from ayon_houdini.api import plugin -class ValidateUSDRopDefaultPrim(pyblish.api.InstancePlugin): +class ValidateUSDRopDefaultPrim(plugin.HoudiniInstancePlugin): """Validate the default prim exists if """