hotfix/collection problems with assigning review to subsets fixe

This commit is contained in:
Milan Kolar 2019-02-10 14:10:57 +01:00
parent d800519176
commit 4cae0b06ce
3 changed files with 30 additions and 2 deletions

View file

@ -15,7 +15,7 @@ class CollectModelData(pyblish.api.InstancePlugin):
"""
order = pyblish.api.CollectorOrder + 0.499
order = pyblish.api.CollectorOrder + 0.4
label = 'Collect Model Data'
families = ["model"]

View file

@ -0,0 +1,24 @@
import pyblish.api
class CollectRemoveMarked(pyblish.api.ContextPlugin):
"""Collect model data
Ensures always only a single frame is extracted (current frame).
Note:
This is a workaround so that the `pype.model` family can use the
same pointcache extractor implementation as animation and pointcaches.
This always enforces the "current" frame to be published.
"""
order = pyblish.api.CollectorOrder + 0.499
label = 'Remove Marked Instances'
def process(self, context):
# make ftrack publishable
for instance in context:
if instance.data.get('remove'):
context.remove(instance)

View file

@ -4,6 +4,7 @@ import pymel.core as pm
import pyblish.api
import avalon.api
class CollectReview(pyblish.api.InstancePlugin):
"""Collect Review data
@ -40,6 +41,9 @@ class CollectReview(pyblish.api.InstancePlugin):
i = 0
for inst in instance.context:
self.log.debug('processing {}'.format(inst))
self.log.debug('processing2 {}'.format(instance.context[i]))
data = instance.context[i].data
if inst.name == reviewable_subset[0]:
@ -56,9 +60,9 @@ class CollectReview(pyblish.api.InstancePlugin):
data['step'] = instance.data['step']
data['fps'] = instance.data['fps']
cmds.setAttr(str(instance) + '.active', 0)
i += 1
instance.context[i].data.update(data)
instance.data['remove'] = True
i += 1
else:
instance.data['subset'] = task + 'Review'
instance.data['review_camera'] = camera