From 44814124f8a39bc45ff0e2beefd8f5172f7c3649 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Mon, 12 Aug 2019 13:10:12 +0200 Subject: [PATCH] feat(nks): if user writes `source` to Tags value it will get source frames --- .../nukestudio/publish/collect_tag_framestart.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pype/plugins/nukestudio/publish/collect_tag_framestart.py b/pype/plugins/nukestudio/publish/collect_tag_framestart.py index c2778ea680..c73a2dd1ee 100644 --- a/pype/plugins/nukestudio/publish/collect_tag_framestart.py +++ b/pype/plugins/nukestudio/publish/collect_tag_framestart.py @@ -1,5 +1,5 @@ from pyblish import api - +import os class CollectClipTagFrameStart(api.InstancePlugin): """Collect FrameStart from Tags of selected track items.""" @@ -19,8 +19,20 @@ class CollectClipTagFrameStart(api.InstancePlugin): # gets only task family tags and collect labels if "frameStart" in t_family: + t_value = t_metadata.get("tag.value", "") + + # backward compatibility t_number = t_metadata.get("tag.number", "") - start_frame = int(t_number) + + try: + start_frame = int(t_number) or int(t_value) + except ValueError: + if "source" in t_value: + source_first = instance.data["sourceFirst"] + source_in = instance.data["sourceIn"] + handle_start = instance.data["handleStart"] + start_frame = (source_first + source_in) - handle_start + instance.data["startingFrame"] = start_frame self.log.info("Start frame on `{0}` set to `{1}`".format( instance, start_frame