mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
Merge pull request #1613 from ynput/enhancement/product-name-template-settings
Settings: Product name template profile filters
This commit is contained in:
commit
9e067348bd
3 changed files with 51 additions and 12 deletions
|
|
@ -60,11 +60,11 @@ def get_product_name_template(
|
||||||
tools_settings = project_settings["core"]["tools"]
|
tools_settings = project_settings["core"]["tools"]
|
||||||
profiles = tools_settings["creator"]["product_name_profiles"]
|
profiles = tools_settings["creator"]["product_name_profiles"]
|
||||||
filtering_criteria = {
|
filtering_criteria = {
|
||||||
|
"product_base_types": product_base_type or product_type,
|
||||||
"product_types": product_type,
|
"product_types": product_type,
|
||||||
"host_names": host_name,
|
"host_names": host_name,
|
||||||
"task_names": task_name,
|
"task_names": task_name,
|
||||||
"task_types": task_type,
|
"task_types": task_type,
|
||||||
"product_base_types": product_base_type,
|
|
||||||
}
|
}
|
||||||
matching_profile = filter_profiles(profiles, filtering_criteria)
|
matching_profile = filter_profiles(profiles, filtering_criteria)
|
||||||
template = None
|
template = None
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,31 @@ from .publish_plugins import DEFAULT_PUBLISH_VALUES
|
||||||
PRODUCT_NAME_REPL_REGEX = re.compile(r"[^<>{}\[\]a-zA-Z0-9_.]")
|
PRODUCT_NAME_REPL_REGEX = re.compile(r"[^<>{}\[\]a-zA-Z0-9_.]")
|
||||||
|
|
||||||
|
|
||||||
def _convert_imageio_configs_1_6_5(overrides):
|
def _convert_product_name_templates_1_7_0(overrides):
|
||||||
|
product_name_profiles = (
|
||||||
|
overrides
|
||||||
|
.get("tools", {})
|
||||||
|
.get("creator", {})
|
||||||
|
.get("product_name_profiles")
|
||||||
|
)
|
||||||
|
if (
|
||||||
|
not product_name_profiles
|
||||||
|
or not isinstance(product_name_profiles, list)
|
||||||
|
):
|
||||||
|
return
|
||||||
|
|
||||||
|
# Already converted
|
||||||
|
item = product_name_profiles[0]
|
||||||
|
if "product_base_types" in item or "product_types" not in item:
|
||||||
|
return
|
||||||
|
|
||||||
|
# Move product base types to product types
|
||||||
|
for item in product_name_profiles:
|
||||||
|
item["product_base_types"] = item["product_types"]
|
||||||
|
item["product_types"] = []
|
||||||
|
|
||||||
|
|
||||||
|
def _convert_product_name_templates_1_6_5(overrides):
|
||||||
product_name_profiles = (
|
product_name_profiles = (
|
||||||
overrides
|
overrides
|
||||||
.get("tools", {})
|
.get("tools", {})
|
||||||
|
|
@ -204,7 +228,8 @@ def convert_settings_overrides(
|
||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
_convert_imageio_configs_0_3_1(overrides)
|
_convert_imageio_configs_0_3_1(overrides)
|
||||||
_convert_imageio_configs_0_4_5(overrides)
|
_convert_imageio_configs_0_4_5(overrides)
|
||||||
_convert_imageio_configs_1_6_5(overrides)
|
_convert_product_name_templates_1_6_5(overrides)
|
||||||
|
_convert_product_name_templates_1_7_0(overrides)
|
||||||
_convert_publish_plugins(overrides)
|
_convert_publish_plugins(overrides)
|
||||||
_convert_extract_thumbnail(overrides)
|
_convert_extract_thumbnail(overrides)
|
||||||
return overrides
|
return overrides
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,10 @@ class ProductTypeSmartSelectModel(BaseSettingsModel):
|
||||||
class ProductNameProfile(BaseSettingsModel):
|
class ProductNameProfile(BaseSettingsModel):
|
||||||
_layout = "expanded"
|
_layout = "expanded"
|
||||||
|
|
||||||
|
product_base_types: list[str] = SettingsField(
|
||||||
|
default_factory=list,
|
||||||
|
title="Product base types",
|
||||||
|
)
|
||||||
product_types: list[str] = SettingsField(
|
product_types: list[str] = SettingsField(
|
||||||
default_factory=list,
|
default_factory=list,
|
||||||
title="Product types",
|
title="Product types",
|
||||||
|
|
@ -468,6 +472,7 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
],
|
],
|
||||||
"product_name_profiles": [
|
"product_name_profiles": [
|
||||||
{
|
{
|
||||||
|
"product_base_types": [],
|
||||||
"product_types": [],
|
"product_types": [],
|
||||||
"host_names": [],
|
"host_names": [],
|
||||||
"task_types": [],
|
"task_types": [],
|
||||||
|
|
@ -475,28 +480,31 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
"template": "{product[type]}{variant}"
|
"template": "{product[type]}{variant}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"workfile"
|
"workfile"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [],
|
"host_names": [],
|
||||||
"task_types": [],
|
"task_types": [],
|
||||||
"task_names": [],
|
"task_names": [],
|
||||||
"template": "{product[type]}{Task[name]}"
|
"template": "{product[type]}{Task[name]}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"render"
|
"render"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [],
|
"host_names": [],
|
||||||
"task_types": [],
|
"task_types": [],
|
||||||
"task_names": [],
|
"task_names": [],
|
||||||
"template": "{product[type]}{Task[name]}{Variant}<_{Aov}>"
|
"template": "{product[type]}{Task[name]}{Variant}<_{Aov}>"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"renderLayer",
|
"renderLayer",
|
||||||
"renderPass"
|
"renderPass"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"tvpaint"
|
"tvpaint"
|
||||||
],
|
],
|
||||||
|
|
@ -507,10 +515,11 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"review",
|
"review",
|
||||||
"workfile"
|
"workfile"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"aftereffects",
|
"aftereffects",
|
||||||
"tvpaint"
|
"tvpaint"
|
||||||
|
|
@ -520,7 +529,8 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
"template": "{product[type]}{Task[name]}"
|
"template": "{product[type]}{Task[name]}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": ["render"],
|
"product_base_types": ["render"],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"aftereffects"
|
"aftereffects"
|
||||||
],
|
],
|
||||||
|
|
@ -529,9 +539,10 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
"template": "{product[type]}{Task[name]}{Composition}{Variant}"
|
"template": "{product[type]}{Task[name]}{Composition}{Variant}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"staticMesh"
|
"staticMesh"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"maya"
|
"maya"
|
||||||
],
|
],
|
||||||
|
|
@ -540,9 +551,10 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
"template": "S_{folder[name]}{variant}"
|
"template": "S_{folder[name]}{variant}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"skeletalMesh"
|
"skeletalMesh"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"maya"
|
"maya"
|
||||||
],
|
],
|
||||||
|
|
@ -551,9 +563,10 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
"template": "SK_{folder[name]}{variant}"
|
"template": "SK_{folder[name]}{variant}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"hda"
|
"hda"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"houdini"
|
"houdini"
|
||||||
],
|
],
|
||||||
|
|
@ -562,9 +575,10 @@ DEFAULT_TOOLS_VALUES = {
|
||||||
"template": "{folder[name]}_{variant}"
|
"template": "{folder[name]}_{variant}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"product_types": [
|
"product_base_types": [
|
||||||
"textureSet"
|
"textureSet"
|
||||||
],
|
],
|
||||||
|
"product_types": [],
|
||||||
"host_names": [
|
"host_names": [
|
||||||
"substancedesigner"
|
"substancedesigner"
|
||||||
],
|
],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue