from __future__ import division
+import itertools
import os
import re
from collections import OrderedDict
-import PyOpenColorIO as OCIO
+import PyOpenColorIO as ocio
__author__ = 'ACES Developers'
__copyright__ = 'Copyright (C) 2014 - 2015 - ACES Developers'
'files_walker',
'replace',
'sanitize',
- 'compact']
+ 'compact',
+ 'colorspace_prefixed_name',
+ 'unpack_default']
class ColorSpace(object):
def __init__(self,
name,
- aliases=[],
+ aliases=None,
description=None,
- bit_depth=OCIO.Constants.BIT_DEPTH_F32,
- equality_group=None,
+ bit_depth=ocio.Constants.BIT_DEPTH_F32,
+ equality_group='',
family=None,
is_data=False,
- to_reference_transforms=[],
- from_reference_transforms=[],
- allocation_type=OCIO.Constants.ALLOCATION_UNIFORM,
- allocation_vars=[0, 1]):
+ to_reference_transforms=None,
+ from_reference_transforms=None,
+ allocation_type=ocio.Constants.ALLOCATION_UNIFORM,
+ allocation_vars=None,
+ aces_transform_id=None):
"""
Object description.
Return value description.
"""
+ if aliases is None:
+ aliases = []
+
+ if to_reference_transforms is None:
+ to_reference_transforms = []
+
+ if from_reference_transforms is None:
+ from_reference_transforms = []
+
+ if allocation_vars is None:
+ allocation_vars = [0, 1]
+
self.name = name
- self.aliases = []
+ self.aliases = aliases
self.bit_depth = bit_depth
self.description = description
self.equality_group = equality_group
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):
Return value description.
"""
- for parent_directory, directories, files in os.walk(directory,
- topdown=False,
- followlinks=True):
+ for parent_directory, directories, files in os.walk(
+ directory, topdown=False, followlinks=True):
for file in files:
path = os.path.join(parent_directory, file)
if os.path.isfile(path):
Examples
--------
- >>> patterns = {"John" : "Luke",
- ... "Jane" : "Anakin",
- ... "Doe" : "Skywalker",
- ... "Z6PO" : "R2D2"}
- >>> data = "Users are: John Doe, Jane Doe, Z6PO."
+ >>> patterns = {'John' : 'Luke',
+ ... 'Jane' : 'Anakin',
+ ... 'Doe' : 'Skywalker',
+ ... 'Z6PO' : 'R2D2'}
+ >>> data = 'Users are: John Doe, Jane Doe, Z6PO.'
>>> replace(data,patterns )
u'Users are: Luke Skywalker, Anakin Skywalker, R2D2.'
"""
('___', '_'),
('__', '_'),
('_', ''))))
+
+
+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)