Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions client/ayon_kitsu/plugins/publish/collect_kitsu_family.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,14 @@ def process(self, instance):
return

host_name = instance.context.data["hostName"]
product_type = instance.data["productType"]
product_base_type = instance.data.get("productBaseType")
if not product_base_type:
product_base_type = instance.data["productType"]
task_name = instance.data.get("task")

filtering_criteria = {
"host_names": host_name,
"product_types": product_type,
"product_base_types": product_base_type,
"task_names": task_name
}
profile = filter_profiles(
Expand All @@ -57,7 +59,7 @@ def process(self, instance):
add_kitsu_family = profile["add_kitsu_family"]
additional_filters = profile.get("advanced_filtering")
if additional_filters:
families_set = set(families) | {product_type}
families_set = set(families) | {product_base_type}
self.log.info(
"'{}' families used for additional filtering".format(
families_set))
Expand All @@ -74,7 +76,7 @@ def process(self, instance):
families.append("kitsu")

self.log.debug("{} 'kitsu' family for instance with '{}'".format(
result_str, product_type
result_str, product_base_type
))

def _get_add_kitsu_f_from_addit_filters(
Expand Down
14 changes: 3 additions & 11 deletions client/ayon_kitsu/plugins/publish/integrate_kitsu_note.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,6 @@ def replace_missing_key(match):
return re.sub(pattern, replace_missing_key, template)

def process(self, context):
# Backwards compatibility for wront key
if "product_type_requirements" in self.status_change_conditions:
family_requirements = self.status_change_conditions[
"product_type_requirements"
]
else:
family_requirements = self.status_change_conditions[
"family_requirements"
]

for instance in context:
# Check if instance is a review by checking its family
# Allow a match to primary family or any of families
Expand Down Expand Up @@ -101,7 +91,9 @@ def process(self, context):

# Check if any family requirement is met

for family_requirement in family_requirements:
for family_requirement in (
self.status_change_conditions["family_requirements"]
):
condition = family_requirement["condition"] == "equal"

for family in families:
Expand Down
18 changes: 16 additions & 2 deletions server/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Type
from typing import Type, Any

from nxtools import logging

Expand All @@ -17,7 +17,11 @@
push_entities,
remove_entities,
)
from .settings import DEFAULT_VALUES, KitsuSettings
from .settings import (
KitsuSettings,
DEFAULT_VALUES,
convert_settings_overrides,
)

#
# Events:
Expand Down Expand Up @@ -134,3 +138,13 @@ async def ensure_kitsu(self, mock: bool = False):
raise InvalidSettingsException("Kitsu password secret is not set")

self.kitsu = Kitsu(settings.server, actual_email, actual_password)

async def convert_settings_overrides(
self,
source_version: str,
overrides: dict[str, Any],
) -> dict[str, Any]:
await convert_settings_overrides(source_version, overrides)
return await super().convert_settings_overrides(
source_version, overrides
)
4 changes: 3 additions & 1 deletion server/settings/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from .main import KitsuSettings, DEFAULT_VALUES

from .conversions import convert_settings_overrides

__all__ = (
"DEFAULT_VALUES",
"KitsuSettings",

"convert_settings_overrides",
)
26 changes: 26 additions & 0 deletions server/settings/conversions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from typing import Any


def _convert_product_base_types(overrides: dict[str, Any]) -> None:
profiles = (
overrides
.get("publish", {})
.get("CollectKitsuFamily", {})
.get("profiles")
)
if not profiles:
return

for profile in profiles:
if "product_base_types" in profile or "product_types" not in profile:
return

profile["product_base_types"] = profile.pop("product_types")


async def convert_settings_overrides(
source_version: str,
overrides: dict[str, Any],
) -> dict[str, Any]:
_convert_product_base_types(overrides)
return overrides
24 changes: 12 additions & 12 deletions server/settings/publish_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class CollectFamilyProfile(BaseSettingsModel):
default_factory=list,
title="Host names",
)
product_types: list[str] = SettingsField(
product_base_types: list[str] = SettingsField(
default_factory=list,
title="Families",
)
Expand Down Expand Up @@ -124,7 +124,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"traypublisher"
],
"product_types": [],
"product_base_types": [],
"task_types": [],
"task_names": [],
"add_ftrack_family": True,
Expand All @@ -134,7 +134,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"traypublisher"
],
"product_types": [
"product_base_types": [
"matchmove",
"shot"
],
Expand All @@ -147,7 +147,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"traypublisher"
],
"product_types": [
"product_base_types": [
"plate",
"review",
"audio"
Expand All @@ -169,7 +169,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"maya"
],
"product_types": [
"product_base_types": [
"model",
"setdress",
"animation",
Expand All @@ -186,7 +186,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"tvpaint"
],
"product_types": [
"product_base_types": [
"renderPass"
],
"task_types": [],
Expand All @@ -198,7 +198,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"tvpaint"
],
"product_types": [],
"product_base_types": [],
"task_types": [],
"task_names": [],
"add_kitsu_family": True,
Expand All @@ -208,7 +208,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"nuke"
],
"product_types": [
"product_base_types": [
"write",
"render",
"prerender"
Expand All @@ -229,7 +229,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"aftereffects"
],
"product_types": [
"product_base_types": [
"render",
"workfile"
],
Expand All @@ -242,7 +242,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"flame"
],
"product_types": [
"product_base_types": [
"plate",
"take"
],
Expand All @@ -255,7 +255,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"houdini"
],
"product_types": [
"product_base_types": [
"usd"
],
"task_types": [],
Expand All @@ -267,7 +267,7 @@ class PublishPlugins(BaseSettingsModel):
"host_names": [
"photoshop"
],
"product_types": [
"product_base_types": [
"review"
],
"task_types": [],
Expand Down
Loading