X-Git-Url: http://users.mur.at/ms/git/gitweb/?p=OpenColorIO-Configs.git;a=blobdiff_plain;f=aces_1.0.0%2Fpython%2Faces_ocio%2Futilities.py;h=1d426d98a659a28a45f09d23040d33ef8f31fbb9;hp=56c9c9d2696f53792797b111828de626d3797b16;hb=cad9d48a0f1067769435904348e9fffeffd25eb9;hpb=54a5731f8ae165da84bbfd8f460359a21433708e diff --git a/aces_1.0.0/python/aces_ocio/utilities.py b/aces_1.0.0/python/aces_ocio/utilities.py index 56c9c9d..1d426d9 100644 --- a/aces_1.0.0/python/aces_ocio/utilities.py +++ b/aces_1.0.0/python/aces_ocio/utilities.py @@ -7,6 +7,7 @@ Defines various package utilities objects. from __future__ import division +import itertools import os import re from collections import OrderedDict @@ -26,7 +27,9 @@ __all__ = ['ColorSpace', 'files_walker', 'replace', 'sanitize', - 'compact'] + 'compact', + 'colorspace_prefixed_name', + 'unpack_default'] class ColorSpace(object): @@ -45,7 +48,8 @@ class ColorSpace(object): to_reference_transforms=[], from_reference_transforms=[], allocation_type=ocio.Constants.ALLOCATION_UNIFORM, - allocation_vars=[0, 1]): + allocation_vars=[0, 1], + aces_transform_id=None): """ Object description. @@ -71,6 +75,7 @@ class ColorSpace(object): self.from_reference_transforms = from_reference_transforms self.allocation_type = allocation_type self.allocation_vars = allocation_vars + self.aces_transform_id = aces_transform_id def mat44_from_mat33(mat33): @@ -232,3 +237,46 @@ def compact(string): ('___', '_'), ('__', '_'), ('_', '')))) + + +def colorspace_prefixed_name(colorspace): + """ + Returns given *OCIO* colorspace prefixed name with its family name. + + Parameters + ---------- + colorspace : Colorspace + Colorspace to prefix. + + Returns + ------- + str or unicode + Family prefixed *OCIO* colorspace name. + """ + prefix = colorspace.family.replace('/', ' - ') + + return '%s - %s' % (prefix, colorspace.name) + + +def unpack_default(iterable, length=3, default=None): + """ + Unpacks given iterable maintaining given length and filling missing + entries with given default. + + Parameters + ---------- + iterable : object + Iterable. + length : int + Iterable length. + default : object + Filling default object. + + Returns + ------- + iterable + """ + + return itertools.islice(itertools.chain(iter(iterable), + itertools.repeat(default)), + length)