mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
#680 - Toggle Ftrack upload in StandalonePublisher
Removed default_family in collect_context
This commit is contained in:
parent
b5df50f4bc
commit
5692d570b7
4 changed files with 146 additions and 27 deletions
|
|
@ -1,29 +1,57 @@
|
|||
"""
|
||||
Requires:
|
||||
none
|
||||
|
||||
Provides:
|
||||
instance -> families ([])
|
||||
"""
|
||||
import os
|
||||
import pyblish.api
|
||||
|
||||
from openpype.lib.plugin_tools import filter_profiles
|
||||
|
||||
class CollectFtrackFamilies(pyblish.api.InstancePlugin):
|
||||
"""Collect family for ftrack publishing
|
||||
|
||||
Add ftrack family to those instance that should be published to ftrack
|
||||
|
||||
class CollectFtrackFamily(pyblish.api.InstancePlugin):
|
||||
"""
|
||||
Adds explicitly 'ftrack' to families to upload instance to FTrack.
|
||||
|
||||
order = pyblish.api.CollectorOrder + 0.3
|
||||
label = 'Add ftrack family'
|
||||
families = ["model",
|
||||
"setdress",
|
||||
"model",
|
||||
"animation",
|
||||
"look",
|
||||
"rig",
|
||||
"camera"
|
||||
]
|
||||
hosts = ["maya"]
|
||||
Uses selection by combination of hosts/families/tasks names via
|
||||
profiles resolution.
|
||||
|
||||
Triggered everywhere, checks instance against configured
|
||||
"""
|
||||
label = "Collect Ftrack Family"
|
||||
order = pyblish.api.CollectorOrder + 0.4999
|
||||
|
||||
profiles = None
|
||||
|
||||
def process(self, instance):
|
||||
if self.profiles:
|
||||
anatomy_data = instance.context.data["anatomyData"]
|
||||
task_name = anatomy_data.get("task",
|
||||
os.environ["AVALON_TASK"])
|
||||
host_name = anatomy_data.get("app",
|
||||
os.environ["AVALON_APP"])
|
||||
family = instance.data["family"]
|
||||
|
||||
# make ftrack publishable
|
||||
if instance.data.get('families'):
|
||||
instance.data['families'].append('ftrack')
|
||||
else:
|
||||
instance.data['families'] = ['ftrack']
|
||||
filtering_criteria = {
|
||||
"hosts": host_name,
|
||||
"families": family,
|
||||
"tasks": task_name
|
||||
}
|
||||
profile = filter_profiles(self.profiles, filtering_criteria)
|
||||
|
||||
if profile:
|
||||
families = instance.data.get("families")
|
||||
if profile["add_ftrack_family"]:
|
||||
self.log.debug("Adding ftrack family")
|
||||
if families and "ftrack" not in families:
|
||||
instance.data["families"].append("ftrack")
|
||||
else:
|
||||
instance.data["families"] = ["ftrack"]
|
||||
else:
|
||||
self.log.debug("Removing ftrack family if present")
|
||||
if families and "ftrack" in families:
|
||||
instance.data["families"].pop("ftrack")
|
||||
|
||||
self.log.debug("instance.data:: {}".format(instance.data))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue