From 0db2f87e8e1cc378ece70057f5fdefa17afd954a Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 20 Jul 2018 23:34:13 +0200 Subject: [PATCH 1/2] Log frame range mismatch instead of no clear error --- .../global/publish/validate_sequence_frames.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/colorbleed/plugins/global/publish/validate_sequence_frames.py b/colorbleed/plugins/global/publish/validate_sequence_frames.py index ae3eb75783..bd14b4c0c3 100644 --- a/colorbleed/plugins/global/publish/validate_sequence_frames.py +++ b/colorbleed/plugins/global/publish/validate_sequence_frames.py @@ -17,12 +17,18 @@ class ValidateSequenceFrames(pyblish.api.InstancePlugin): def process(self, instance): collection = instance[0] + self.log.info(collection) - self.log.warning(collection) frames = list(collection.indexes) - assert frames[0] == instance.data["startFrame"] - assert frames[-1] == instance.data["endFrame"] + current_range = (frames[0], frames[-1]) + required_range = (instance.data["startFrame"], + instance.data["endFrame"]) + + if current_range != required_range: + raise ValueError("Invalid frame range: {0} - " + "expected: {1}".format(current_range, + required_range)) missing = collection.holes().indexes assert not missing, "Missing frames: %s" % (missing,) From ce3861dbaa78ff60e63e06bbc559f2b62a81be15 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sat, 21 Jul 2018 00:06:54 +0200 Subject: [PATCH 2/2] Fix false positives for invalidation on path differences with backslash and frontslash --- colorbleed/plugins/maya/publish/validate_transfers.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/colorbleed/plugins/maya/publish/validate_transfers.py b/colorbleed/plugins/maya/publish/validate_transfers.py index 5f1f5b3f41..41544b63cf 100644 --- a/colorbleed/plugins/maya/publish/validate_transfers.py +++ b/colorbleed/plugins/maya/publish/validate_transfers.py @@ -1,5 +1,6 @@ import pyblish.api import colorbleed.api +import os from collections import defaultdict @@ -26,7 +27,12 @@ class ValidateTransfers(pyblish.api.InstancePlugin): # Collect all destination with its sources collected = defaultdict(set) for source, destination in transfers: - collected[destination.lower()].add(source.lower()) + + # Use normalized paths in comparison and ignore case sensitivity + source = os.path.normpath(source).lower() + destination = os.path.normpath(destination).lower() + + collected[destination].add(source) invalid_destinations = list() for destination, sources in collected.items():