mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Merge pull request #5748 from ynput/enhancement/Houdini_rearrange-ayon-houdini-settings-files
This commit is contained in:
commit
069fc67fe0
9 changed files with 435 additions and 333 deletions
|
|
@ -25,6 +25,12 @@
|
|||
},
|
||||
"shelves": [],
|
||||
"create": {
|
||||
"CreateAlembicCamera": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateArnoldAss": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
|
|
@ -32,6 +38,66 @@
|
|||
],
|
||||
"ext": ".ass"
|
||||
},
|
||||
"CreateArnoldRop": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateCompositeSequence": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateHDA": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateKarmaROP": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateMantraROP": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreatePointCache": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateBGEO": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateRedshiftProxy": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateRedshiftROP": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateReview": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateStaticMesh": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
|
|
@ -45,31 +111,13 @@
|
|||
"UCX"
|
||||
]
|
||||
},
|
||||
"CreateAlembicCamera": {
|
||||
"CreateUSD": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateCompositeSequence": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreatePointCache": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateRedshiftROP": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateRemotePublish": {
|
||||
"CreateUSDRender": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
|
|
@ -81,26 +129,8 @@
|
|||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateUSD": {
|
||||
"enabled": false,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateUSDModel": {
|
||||
"enabled": false,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"USDCreateShadingWorkspace": {
|
||||
"enabled": false,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
},
|
||||
"CreateUSDRender": {
|
||||
"enabled": false,
|
||||
"CreateVrayROP": {
|
||||
"enabled": true,
|
||||
"default_variants": [
|
||||
"Main"
|
||||
]
|
||||
|
|
@ -110,6 +140,31 @@
|
|||
"CollectRopFrameRange": {
|
||||
"use_asset_handles": true
|
||||
},
|
||||
"ValidateContainers": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateMeshIsStatic": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateReviewColorspace": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateSubsetName": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateUnrealStaticMeshName": {
|
||||
"enabled": false,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateWorkfilePaths": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
|
|
@ -121,31 +176,6 @@
|
|||
"$HIP",
|
||||
"$JOB"
|
||||
]
|
||||
},
|
||||
"ValidateReviewColorspace": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateContainers": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateSubsetName": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateMeshIsStatic": {
|
||||
"enabled": true,
|
||||
"optional": true,
|
||||
"active": true
|
||||
},
|
||||
"ValidateUnrealStaticMeshName": {
|
||||
"enabled": false,
|
||||
"optional": true,
|
||||
"active": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,16 @@
|
|||
"key": "create",
|
||||
"label": "Creator plugins",
|
||||
"children": [
|
||||
{
|
||||
"type": "schema_template",
|
||||
"name": "template_create_plugin",
|
||||
"template_data": [
|
||||
{
|
||||
"key": "CreateAlembicCamera",
|
||||
"label": "Create Alembic Camera"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dict",
|
||||
"collapsible": true,
|
||||
|
|
@ -39,6 +49,52 @@
|
|||
]
|
||||
|
||||
},
|
||||
{
|
||||
"type": "schema_template",
|
||||
"name": "template_create_plugin",
|
||||
"template_data": [
|
||||
{
|
||||
"key": "CreateArnoldRop",
|
||||
"label": "Create Arnold ROP"
|
||||
},
|
||||
{
|
||||
"key": "CreateCompositeSequence",
|
||||
"label": "Create Composite (Image Sequence)"
|
||||
},
|
||||
{
|
||||
"key": "CreateHDA",
|
||||
"label": "Create Houdini Digital Asset"
|
||||
},
|
||||
{
|
||||
"key": "CreateKarmaROP",
|
||||
"label": "Create Karma ROP"
|
||||
},
|
||||
{
|
||||
"key": "CreateMantraROP",
|
||||
"label": "Create Mantra ROP"
|
||||
},
|
||||
{
|
||||
"key": "CreatePointCache",
|
||||
"label": "Create PointCache (Abc)"
|
||||
},
|
||||
{
|
||||
"key": "CreateBGEO",
|
||||
"label": "Create PointCache (Bgeo)"
|
||||
},
|
||||
{
|
||||
"key": "CreateRedshiftProxy",
|
||||
"label": "Create Redshift Proxy"
|
||||
},
|
||||
{
|
||||
"key": "CreateRedshiftROP",
|
||||
"label": "Create Redshift ROP"
|
||||
},
|
||||
{
|
||||
"key": "CreateReview",
|
||||
"label": "Create Review"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dict",
|
||||
"collapsible": true,
|
||||
|
|
@ -75,44 +131,20 @@
|
|||
"name": "template_create_plugin",
|
||||
"template_data": [
|
||||
{
|
||||
"key": "CreateAlembicCamera",
|
||||
"label": "Create Alembic Camera"
|
||||
"key": "CreateUSD",
|
||||
"label": "Create USD (experimental)"
|
||||
},
|
||||
{
|
||||
"key": "CreateCompositeSequence",
|
||||
"label": "Create Composite (Image Sequence)"
|
||||
},
|
||||
{
|
||||
"key": "CreatePointCache",
|
||||
"label": "Create Point Cache"
|
||||
},
|
||||
{
|
||||
"key": "CreateRedshiftROP",
|
||||
"label": "Create Redshift ROP"
|
||||
},
|
||||
{
|
||||
"key": "CreateRemotePublish",
|
||||
"label": "Create Remote Publish"
|
||||
"key": "CreateUSDRender",
|
||||
"label": "Create USD render (experimental)"
|
||||
},
|
||||
{
|
||||
"key": "CreateVDBCache",
|
||||
"label": "Create VDB Cache"
|
||||
},
|
||||
{
|
||||
"key": "CreateUSD",
|
||||
"label": "Create USD"
|
||||
},
|
||||
{
|
||||
"key": "CreateUSDModel",
|
||||
"label": "Create USD Model"
|
||||
},
|
||||
{
|
||||
"key": "USDCreateShadingWorkspace",
|
||||
"label": "Create USD Shading Workspace"
|
||||
},
|
||||
{
|
||||
"key": "CreateUSDRender",
|
||||
"label": "Create USD Render"
|
||||
"key": "CreateVrayROP",
|
||||
"label": "Create VRay ROP"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,36 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"label": "Validators"
|
||||
},
|
||||
{
|
||||
"type": "schema_template",
|
||||
"name": "template_publish_plugin",
|
||||
"template_data": [
|
||||
{
|
||||
"key": "ValidateContainers",
|
||||
"label": "Validate Containers"
|
||||
},
|
||||
{
|
||||
"key": "ValidateMeshIsStatic",
|
||||
"label": "Validate Mesh is Static"
|
||||
},
|
||||
{
|
||||
"key": "ValidateReviewColorspace",
|
||||
"label": "Validate Review Colorspace"
|
||||
},
|
||||
{
|
||||
"key": "ValidateSubsetName",
|
||||
"label": "Validate Subset Name"
|
||||
},
|
||||
{
|
||||
"key": "ValidateUnrealStaticMeshName",
|
||||
"label": "Validate Unreal Static Mesh Name"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dict",
|
||||
"collapsible": true,
|
||||
|
|
@ -56,32 +86,6 @@
|
|||
"object_type": "text"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "schema_template",
|
||||
"name": "template_publish_plugin",
|
||||
"template_data": [
|
||||
{
|
||||
"key": "ValidateReviewColorspace",
|
||||
"label": "Validate Review Colorspace"
|
||||
},
|
||||
{
|
||||
"key": "ValidateContainers",
|
||||
"label": "ValidateContainers"
|
||||
},
|
||||
{
|
||||
"key": "ValidateSubsetName",
|
||||
"label": "Validate Subset Name"
|
||||
},
|
||||
{
|
||||
"key": "ValidateMeshIsStatic",
|
||||
"label": "Validate Mesh is Static"
|
||||
},
|
||||
{
|
||||
"key": "ValidateUnrealStaticMeshName",
|
||||
"label": "Validate Unreal Static Mesh Name"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,10 @@
|
|||
"object_type": {
|
||||
"type": "dict",
|
||||
"children": [
|
||||
{
|
||||
"type": "label",
|
||||
"label": "Name and Script Path are mandatory."
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"key": "label",
|
||||
|
|
@ -68,4 +72,4 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
from pydantic import Field
|
||||
|
||||
from ayon_server.settings import BaseSettingsModel
|
||||
|
||||
|
||||
|
|
@ -35,52 +34,110 @@ class CreateStaticMeshModel(BaseSettingsModel):
|
|||
|
||||
|
||||
class CreatePluginsModel(BaseSettingsModel):
|
||||
CreateArnoldAss: CreateArnoldAssModel = Field(
|
||||
default_factory=CreateArnoldAssModel,
|
||||
title="Create Alembic Camera")
|
||||
# "-" is not compatible in the new model
|
||||
CreateStaticMesh: CreateStaticMeshModel = Field(
|
||||
default_factory=CreateStaticMeshModel,
|
||||
title="Create Static Mesh"
|
||||
)
|
||||
CreateAlembicCamera: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Alembic Camera")
|
||||
CreateArnoldAss: CreateArnoldAssModel = Field(
|
||||
default_factory=CreateArnoldAssModel,
|
||||
title="Create Arnold Ass")
|
||||
CreateArnoldRop: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Arnold ROP")
|
||||
CreateCompositeSequence: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Composite Sequence")
|
||||
title="Create Composite (Image Sequence)")
|
||||
CreateHDA: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Houdini Digital Asset")
|
||||
CreateKarmaROP: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Karma ROP")
|
||||
CreateMantraROP: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Mantra ROP")
|
||||
CreatePointCache: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Point Cache")
|
||||
title="Create PointCache (Abc)")
|
||||
CreateBGEO: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create PointCache (Bgeo)")
|
||||
CreateRedshiftProxy: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Redshift Proxy")
|
||||
CreateRedshiftROP: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create RedshiftROP")
|
||||
CreateRemotePublish: CreatorModel = Field(
|
||||
title="Create Redshift ROP")
|
||||
CreateReview: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create Remote Publish")
|
||||
title="Create Review")
|
||||
# "-" is not compatible in the new model
|
||||
CreateStaticMesh: CreateStaticMeshModel = Field(
|
||||
default_factory=CreateStaticMeshModel,
|
||||
title="Create Static Mesh")
|
||||
CreateUSD: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create USD (experimental)")
|
||||
CreateUSDRender: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create USD render (experimental)")
|
||||
CreateVDBCache: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create VDB Cache")
|
||||
CreateUSD: CreatorModel = Field(
|
||||
CreateVrayROP: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create USD")
|
||||
CreateUSDModel: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create USD model")
|
||||
USDCreateShadingWorkspace: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create USD shading workspace")
|
||||
CreateUSDRender: CreatorModel = Field(
|
||||
default_factory=CreatorModel,
|
||||
title="Create USD render")
|
||||
title="Create VRay ROP")
|
||||
|
||||
|
||||
DEFAULT_HOUDINI_CREATE_SETTINGS = {
|
||||
"CreateAlembicCamera": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateArnoldAss": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"],
|
||||
"ext": ".ass"
|
||||
},
|
||||
"CreateArnoldRop": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateCompositeSequence": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateHDA": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateKarmaROP": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateMantraROP": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreatePointCache": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateBGEO": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateRedshiftProxy": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateRedshiftROP": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateReview": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateStaticMesh": {
|
||||
"enabled": True,
|
||||
"default_variants": [
|
||||
|
|
@ -94,145 +151,20 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = {
|
|||
"UCX"
|
||||
]
|
||||
},
|
||||
"CreateAlembicCamera": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateCompositeSequence": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreatePointCache": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateRedshiftROP": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateRemotePublish": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateVDBCache": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateUSD": {
|
||||
"enabled": False,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateUSDModel": {
|
||||
"enabled": False,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"USDCreateShadingWorkspace": {
|
||||
"enabled": False,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateUSDRender": {
|
||||
"enabled": False,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# Publish Plugins
|
||||
class ValidateWorkfilePathsModel(BaseSettingsModel):
|
||||
enabled: bool = Field(title="Enabled")
|
||||
optional: bool = Field(title="Optional")
|
||||
node_types: list[str] = Field(
|
||||
default_factory=list,
|
||||
title="Node Types"
|
||||
)
|
||||
prohibited_vars: list[str] = Field(
|
||||
default_factory=list,
|
||||
title="Prohibited Variables"
|
||||
)
|
||||
|
||||
|
||||
class CollectRopFrameRangeModel(BaseSettingsModel):
|
||||
"""Collect Frame Range
|
||||
|
||||
Disable this if you want the publisher to
|
||||
ignore start and end handles specified in the
|
||||
asset data for publish instances
|
||||
"""
|
||||
use_asset_handles: bool = Field(
|
||||
title="Use asset handles")
|
||||
|
||||
|
||||
class BasicValidateModel(BaseSettingsModel):
|
||||
enabled: bool = Field(title="Enabled")
|
||||
optional: bool = Field(title="Optional")
|
||||
active: bool = Field(title="Active")
|
||||
|
||||
|
||||
class PublishPluginsModel(BaseSettingsModel):
|
||||
CollectRopFrameRange: CollectRopFrameRangeModel = Field(
|
||||
default_factory=CollectRopFrameRangeModel,
|
||||
title="Collect Rop Frame Range.",
|
||||
section="Collectors"
|
||||
)
|
||||
ValidateWorkfilePaths: ValidateWorkfilePathsModel = Field(
|
||||
default_factory=ValidateWorkfilePathsModel,
|
||||
title="Validate workfile paths settings.")
|
||||
ValidateReviewColorspace: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Review Colorspace.")
|
||||
ValidateContainers: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Latest Containers.")
|
||||
ValidateSubsetName: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Subset Name.")
|
||||
ValidateMeshIsStatic: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Mesh is Static.")
|
||||
ValidateUnrealStaticMeshName: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Unreal Static Mesh Name.")
|
||||
|
||||
|
||||
DEFAULT_HOUDINI_PUBLISH_SETTINGS = {
|
||||
"CollectRopFrameRange": {
|
||||
"use_asset_handles": True
|
||||
},
|
||||
"ValidateWorkfilePaths": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"node_types": [
|
||||
"file",
|
||||
"alembic"
|
||||
],
|
||||
"prohibited_vars": [
|
||||
"$HIP",
|
||||
"$JOB"
|
||||
]
|
||||
},
|
||||
"ValidateReviewColorspace": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateContainers": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateSubsetName": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateMeshIsStatic": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateUnrealStaticMeshName": {
|
||||
"enabled": False,
|
||||
"optional": True,
|
||||
"active": True
|
||||
}
|
||||
"CreateVDBCache": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
"CreateVrayROP": {
|
||||
"enabled": True,
|
||||
"default_variants": ["Main"]
|
||||
},
|
||||
}
|
||||
|
|
@ -1,57 +1,19 @@
|
|||
from pydantic import Field
|
||||
from ayon_server.settings import (
|
||||
BaseSettingsModel,
|
||||
MultiplatformPathModel,
|
||||
MultiplatformPathListModel,
|
||||
)
|
||||
from ayon_server.settings import BaseSettingsModel
|
||||
from .general import (
|
||||
GeneralSettingsModel,
|
||||
DEFAULT_GENERAL_SETTINGS
|
||||
)
|
||||
from .imageio import HoudiniImageIOModel
|
||||
from .publish_plugins import (
|
||||
PublishPluginsModel,
|
||||
from .shelves import ShelvesModel
|
||||
from .create import (
|
||||
CreatePluginsModel,
|
||||
DEFAULT_HOUDINI_PUBLISH_SETTINGS,
|
||||
DEFAULT_HOUDINI_CREATE_SETTINGS
|
||||
)
|
||||
|
||||
|
||||
class ShelfToolsModel(BaseSettingsModel):
|
||||
name: str = Field(title="Name")
|
||||
help: str = Field(title="Help text")
|
||||
script: MultiplatformPathModel = Field(
|
||||
default_factory=MultiplatformPathModel,
|
||||
title="Script Path "
|
||||
)
|
||||
icon: MultiplatformPathModel = Field(
|
||||
default_factory=MultiplatformPathModel,
|
||||
title="Icon Path "
|
||||
)
|
||||
|
||||
|
||||
class ShelfDefinitionModel(BaseSettingsModel):
|
||||
_layout = "expanded"
|
||||
shelf_name: str = Field(title="Shelf name")
|
||||
tools_list: list[ShelfToolsModel] = Field(
|
||||
default_factory=list,
|
||||
title="Shelf Tools"
|
||||
)
|
||||
|
||||
|
||||
class ShelvesModel(BaseSettingsModel):
|
||||
_layout = "expanded"
|
||||
shelf_set_name: str = Field(title="Shelfs set name")
|
||||
|
||||
shelf_set_source_path: MultiplatformPathListModel = Field(
|
||||
default_factory=MultiplatformPathListModel,
|
||||
title="Shelf Set Path (optional)"
|
||||
)
|
||||
|
||||
shelf_definition: list[ShelfDefinitionModel] = Field(
|
||||
default_factory=list,
|
||||
title="Shelf Definitions"
|
||||
)
|
||||
from .publish import (
|
||||
PublishPluginsModel,
|
||||
DEFAULT_HOUDINI_PUBLISH_SETTINGS,
|
||||
)
|
||||
|
||||
|
||||
class HoudiniSettings(BaseSettingsModel):
|
||||
|
|
@ -65,18 +27,16 @@ class HoudiniSettings(BaseSettingsModel):
|
|||
)
|
||||
shelves: list[ShelvesModel] = Field(
|
||||
default_factory=list,
|
||||
title="Houdini Scripts Shelves",
|
||||
title="Shelves Manager",
|
||||
)
|
||||
|
||||
publish: PublishPluginsModel = Field(
|
||||
default_factory=PublishPluginsModel,
|
||||
title="Publish Plugins",
|
||||
)
|
||||
|
||||
create: CreatePluginsModel = Field(
|
||||
default_factory=CreatePluginsModel,
|
||||
title="Creator Plugins",
|
||||
)
|
||||
publish: PublishPluginsModel = Field(
|
||||
default_factory=PublishPluginsModel,
|
||||
title="Publish Plugins",
|
||||
)
|
||||
|
||||
|
||||
DEFAULT_VALUES = {
|
||||
|
|
|
|||
103
server_addon/houdini/server/settings/publish.py
Normal file
103
server_addon/houdini/server/settings/publish.py
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
from pydantic import Field
|
||||
from ayon_server.settings import BaseSettingsModel
|
||||
|
||||
|
||||
# Publish Plugins
|
||||
class CollectRopFrameRangeModel(BaseSettingsModel):
|
||||
"""Collect Frame Range
|
||||
Disable this if you want the publisher to
|
||||
ignore start and end handles specified in the
|
||||
asset data for publish instances
|
||||
"""
|
||||
use_asset_handles: bool = Field(
|
||||
title="Use asset handles")
|
||||
|
||||
|
||||
class ValidateWorkfilePathsModel(BaseSettingsModel):
|
||||
enabled: bool = Field(title="Enabled")
|
||||
optional: bool = Field(title="Optional")
|
||||
node_types: list[str] = Field(
|
||||
default_factory=list,
|
||||
title="Node Types"
|
||||
)
|
||||
prohibited_vars: list[str] = Field(
|
||||
default_factory=list,
|
||||
title="Prohibited Variables"
|
||||
)
|
||||
|
||||
|
||||
class BasicValidateModel(BaseSettingsModel):
|
||||
enabled: bool = Field(title="Enabled")
|
||||
optional: bool = Field(title="Optional")
|
||||
active: bool = Field(title="Active")
|
||||
|
||||
|
||||
class PublishPluginsModel(BaseSettingsModel):
|
||||
CollectRopFrameRange: CollectRopFrameRangeModel = Field(
|
||||
default_factory=CollectRopFrameRangeModel,
|
||||
title="Collect Rop Frame Range.",
|
||||
section="Collectors"
|
||||
)
|
||||
ValidateContainers: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Latest Containers.",
|
||||
section="Validators")
|
||||
ValidateMeshIsStatic: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Mesh is Static.")
|
||||
ValidateReviewColorspace: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Review Colorspace.")
|
||||
ValidateSubsetName: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Subset Name.")
|
||||
ValidateUnrealStaticMeshName: BasicValidateModel = Field(
|
||||
default_factory=BasicValidateModel,
|
||||
title="Validate Unreal Static Mesh Name.")
|
||||
ValidateWorkfilePaths: ValidateWorkfilePathsModel = Field(
|
||||
default_factory=ValidateWorkfilePathsModel,
|
||||
title="Validate workfile paths settings.")
|
||||
|
||||
|
||||
DEFAULT_HOUDINI_PUBLISH_SETTINGS = {
|
||||
"CollectRopFrameRange": {
|
||||
"use_asset_handles": True
|
||||
},
|
||||
"ValidateContainers": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateMeshIsStatic": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateReviewColorspace": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateSubsetName": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateUnrealStaticMeshName": {
|
||||
"enabled": False,
|
||||
"optional": True,
|
||||
"active": True
|
||||
},
|
||||
"ValidateWorkfilePaths": {
|
||||
"enabled": True,
|
||||
"optional": True,
|
||||
"node_types": [
|
||||
"file",
|
||||
"alembic"
|
||||
],
|
||||
"prohibited_vars": [
|
||||
"$HIP",
|
||||
"$JOB"
|
||||
]
|
||||
}
|
||||
}
|
||||
37
server_addon/houdini/server/settings/shelves.py
Normal file
37
server_addon/houdini/server/settings/shelves.py
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
from pydantic import Field
|
||||
from ayon_server.settings import (
|
||||
BaseSettingsModel,
|
||||
MultiplatformPathModel
|
||||
)
|
||||
|
||||
|
||||
class ShelfToolsModel(BaseSettingsModel):
|
||||
"""Name and Script Path are mandatory."""
|
||||
label: str = Field(title="Name")
|
||||
script: str = Field(title="Script Path")
|
||||
icon: str = Field("", title="Icon Path")
|
||||
help: str = Field("", title="Help text")
|
||||
|
||||
|
||||
class ShelfDefinitionModel(BaseSettingsModel):
|
||||
_layout = "expanded"
|
||||
shelf_name: str = Field(title="Shelf name")
|
||||
tools_list: list[ShelfToolsModel] = Field(
|
||||
default_factory=list,
|
||||
title="Shelf Tools"
|
||||
)
|
||||
|
||||
|
||||
class ShelvesModel(BaseSettingsModel):
|
||||
_layout = "expanded"
|
||||
shelf_set_name: str = Field("", title="Shelfs set name")
|
||||
|
||||
shelf_set_source_path: MultiplatformPathModel = Field(
|
||||
default_factory=MultiplatformPathModel,
|
||||
title="Shelf Set Path (optional)"
|
||||
)
|
||||
|
||||
shelf_definition: list[ShelfDefinitionModel] = Field(
|
||||
default_factory=list,
|
||||
title="Shelf Definitions"
|
||||
)
|
||||
|
|
@ -1 +1 @@
|
|||
__version__ = "0.1.6"
|
||||
__version__ = "0.2.6"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue