from aces_ocio.utilities import (
ColorSpace,
mat44_from_mat33,
- sanitize_path,
+ sanitize,
compact)
'ACEScsc.ACES_to_ACEScg.a1.0.0.ctl')]
lut = '%s_to_ACES.spi1d' % name
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_1d_LUT_from_CTL(
os.path.join(lut_directory, lut),
'ACEScsc.ACES_to_ACEScg.a1.0.0.ctl')]
lut = '%s_to_aces.spi1d' % name
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_1d_LUT_from_CTL(
os.path.join(lut_directory, lut),
'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl')]
lut = '%s_to_aces.spi1d' % name
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_1d_LUT_from_CTL(
os.path.join(lut_directory, lut),
if not os.path.exists(os.path.join(lut_directory, shaper_lut)):
ctls = [shaper_to_ACES_CTL % aces_CTL_directory]
- shaper_lut = sanitize_path(shaper_lut)
+ shaper_lut = sanitize(shaper_lut)
generate_1d_LUT_from_CTL(
os.path.join(lut_directory, shaper_lut),
lmt_values['transformCTL'])]
lut = '%s.%s.spi3d' % (shaper_name, lmt_name)
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_3d_LUT_from_CTL(
os.path.join(lut_directory, lut),
shaper_from_ACES_CTL % aces_CTL_directory]
lut = 'Inverse.%s.%s.spi3d' % (odt_name, shaper_name)
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_3d_LUT_from_CTL(
os.path.join(lut_directory, lut),
if not os.path.exists(os.path.join(lut_directory, shaper_lut)):
ctls = [shaper_to_ACES_CTL % aces_CTL_directory]
- shaper_lut = sanitize_path(shaper_lut)
+ shaper_lut = sanitize(shaper_lut)
generate_1d_LUT_from_CTL(
os.path.join(lut_directory, shaper_lut),
odt_values['transformCTL'])]
lut = '%s.RRT.a1.0.0.%s.spi3d' % (shaper_name, odt_name)
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_3d_LUT_from_CTL(
os.path.join(lut_directory, lut),
shaper_from_ACES_CTL % aces_CTL_directory]
lut = 'InvRRT.a1.0.0.%s.%s.spi3d' % (odt_name, shaper_name)
- lut = sanitize_path(lut)
+ lut = sanitize(lut)
generate_3d_LUT_from_CTL(
os.path.join(lut_directory, lut),
import os
import re
+from collections import OrderedDict
import PyOpenColorIO as OCIO
'mat44_from_mat33',
'filter_words',
'files_walker',
- 'sanitize_path']
+ 'replace',
+ 'sanitize',
+ 'compact']
class ColorSpace(object):
yield path
-def sanitize_path(path):
+def replace(string, data):
+ """
+ Replaces the data occurrences in the string.
+
+ Parameters
+ ----------
+ string : str or unicode
+ String to manipulate.
+ data : dict
+ Replacement occurrences.
+
+ Returns
+ -------
+ unicode
+ Manipulated string.
+
+ Examples
+ --------
+ >>> 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.'
+ """
+
+ for old, new in data.iteritems():
+ string = string.replace(old, new)
+ return string
+
+
+def sanitize(path):
"""
Object description.
Return value description.
"""
- return path.replace(' ', '_').replace(')', '_').replace('(', '_')
+ return replace(path, {' ': '_', ')': '_', '(': '_'})
def compact(string):
"""
- Removes blanks, underscores, dashes and parentheses
+ Removes blanks, underscores, dashes and parentheses.
Parameters
----------
- parameter : type
- A string.
+ string : str or unicode
+ String to compact.
Returns
-------
- type
+ str or unicode
A compact version of that string.
"""
- compact = string
- compact = compact.lower()
- compact = compact.replace(' ', '_')
- compact = compact.replace('(', '_')
- compact = compact.replace(')', '_')
- compact = compact.replace('.', '_')
- compact = compact.replace('-', '_')
- compact = compact.replace('___', '_')
- compact = compact.replace('__', '_')
- compact = compact.replace('_', '')
-
- return compact
+ return replace(string.lower(),
+ OrderedDict(((' ', '_'),
+ ('(', '_'),
+ (')', '_'),
+ ('.', '_'),
+ ('-', '_'),
+ ('___', '_'),
+ ('__', '_'),
+ ('_', ''))))