Code formatting.
[OpenColorIO-Configs.git] / aces_1.0.0 / python / aces_ocio / aces_config.py
index 5c7eb98..654dc34 100755 (executable)
@@ -290,10 +290,11 @@ def generate_OCIO_transform(transforms):
     return transform
 
 
-def add_colorspace_alias(config,
-                         reference_colorspace,
-                         colorspace,
-                         colorspace_alias_names):
+def add_colorspace_aliases(config,
+                           reference_colorspace,
+                           colorspace,
+                           colorspace_alias_names,
+                           family='Aliases'):
     """
     Object description.
 
@@ -310,19 +311,24 @@ def add_colorspace_alias(config,
 
     for alias_name in colorspace_alias_names:
         if alias_name.lower() == colorspace.name.lower():
-            print('Skipping alias creation for %s, alias %s, because lower cased names match' % (
-                colorspace.name, alias_name) )
-            return
+            print(
+            'Skipping alias creation for %s, alias %s, because lower cased names match' % (
+                colorspace.name, alias_name))
+            continue
 
         print('Adding alias colorspace space %s, alias to %s' % (
             alias_name, colorspace.name))
 
-        compact_family_name = 'Aliases'
+        compact_family_name = family
+
+        description = colorspace.description
+        if colorspace.aces_transform_id:
+            description += "\n\nACES Transform ID : %s" % colorspace.aces_transform_id
 
         ocio_colorspace_alias = ocio.ColorSpace(
             name=alias_name,
             bitDepth=colorspace.bit_depth,
-            description=colorspace.description,
+            description=description,
             equalityGroup=colorspace.equality_group,
             family=compact_family_name,
             isData=colorspace.is_data,
@@ -353,10 +359,12 @@ def add_colorspace_alias(config,
 
         config.addColorSpace(ocio_colorspace_alias)
 
+
 def colorspace_prefixed_name(colorspace):
     prefix = colorspace.family.replace("/", " - ")
     return "%s - %s" % (prefix, colorspace.name)
 
+
 def add_look(config,
              look,
              prefix,
@@ -385,27 +393,27 @@ def add_look(config,
     if len(look) == 4:
         look_cccid = look[3]
 
-    print('Adding look %s - %s' % (look_name, ", ".join(look)) )
+    print('Adding look %s - %s' % (look_name, ", ".join(look)))
 
     #
     # Copy look lut
     #
     if custom_lut_dir:
         if not '$' in look_lut:
-            print( "Getting ready to copy look lut : %s" % look_lut )
+            print("Getting ready to copy look lut : %s" % look_lut)
             shutil.copy2(look_lut, custom_lut_dir)
             look_lut = os.path.split(look_lut)[1]
         else:
-            print( "Skipping LUT copy because path contains a context variable" )
+            print("Skipping LUT copy because path contains a context variable")
 
     #
     # Create OCIO Look
     #
     # Look 1
-    print('Adding look to config' )
+    print('Adding look to config')
     lk1 = ocio.Look()
-    lk1.setName( look_name )
-    lk1.setProcessSpace( look_colorspace )
+    lk1.setName(look_name)
+    lk1.setProcessSpace(look_colorspace)
 
     keys = {'type': 'lutFile',
             'path': look_lut,
@@ -414,12 +422,12 @@ def add_look(config,
         keys['cccid'] = look_cccid
 
     ocio_transform = generate_OCIO_transform([keys])
-    lk1.setTransform( ocio_transform )
+    lk1.setTransform(ocio_transform)
 
     # add to config
-    config.addLook( lk1 )
+    config.addLook(lk1)
 
-    print( "Creating aliased colorspace")
+    print("Creating aliased colorspace")
 
     #
     # Create OCIO colorspace that references that look
@@ -428,15 +436,15 @@ def add_look(config,
     #
     look_aliases = ["look_%s" % compact(look_name)]
     colorspace = ColorSpace(look_name,
-        aliases=look_aliases,
-        description="The %s Look colorspace" % look_name,
-        family='Look')
+                            aliases=look_aliases,
+                            description="The %s Look colorspace" % look_name,
+                            family='Look')
 
     colorspace.from_reference_transforms = [{'type': 'look',
-        'look': look_name,
-        'src': reference_name,
-        'dst': reference_name,
-        'direction': 'forward'}]
+                                             'look': look_name,
+                                             'src': reference_name,
+                                             'dst': reference_name,
+                                             'direction': 'forward'}]
 
     print('Adding colorspace %s, alias to look %s to config data' % (
         look_name, look_name))
@@ -446,6 +454,7 @@ def add_look(config,
 
     print("")
 
+
 def integrate_looks_into_views(config,
                                looks,
                                reference_name,
@@ -464,7 +473,7 @@ def integrate_looks_into_views(config,
     type
          Return value description.
     """
-    look_names = [look[0] for look in looks] 
+    look_names = [look[0] for look in looks]
 
     # Option 1 - Add a 'look' to each Display
     # - Assumes there is a Display for each ACES Output Transform
@@ -484,59 +493,68 @@ def integrate_looks_into_views(config,
             for view_name, output_colorspace in view_list.iteritems():
                 if view_name == "Output Transform":
 
-                    print( "Adding new View that incorporates looks" )
+                    print("Adding new View that incorporates looks")
 
                     # Make a copy of the output colorspace
                     output_colorspace_copy = copy.deepcopy(output_colorspace)
 
-                    #for look_name in look_names:
+                    # for look_name in look_names:
                     for i in range(len(look_names)):
                         look_name = look_names[i]
 
                         # Add the LookTransform to the head of the from_reference transform list
                         if output_colorspace_copy.from_reference_transforms:
-                            output_colorspace_copy.from_reference_transforms.insert(i, {'type': 'look',
-                                'look': look_name,
-                                'src': reference_name,
-                                'dst': reference_name,
-                                'direction': 'forward'})
+                            output_colorspace_copy.from_reference_transforms.insert(
+                                i, {'type': 'look',
+                                    'look': look_name,
+                                    'src': reference_name,
+                                    'dst': reference_name,
+                                    'direction': 'forward'})
 
                         # Add the LookTransform to the end of the to_reference transform list
                         if output_colorspace_copy.to_reference_transforms:
-                            inverse_look_name = look_names[len(look_names) -1 -i]
+                            inverse_look_name = look_names[
+                                len(look_names) - 1 - i]
 
-                            output_colorspace_copy.to_reference_transforms.append({'type': 'look',
-                                'look': inverse_look_name,
-                                'src': reference_name,
-                                'dst': reference_name,
-                                'direction': 'inverse'})
+                            output_colorspace_copy.to_reference_transforms.append(
+                                {'type': 'look',
+                                 'look': inverse_look_name,
+                                 'src': reference_name,
+                                 'dst': reference_name,
+                                 'direction': 'inverse'})
 
                         if not look_name in config_data['looks']:
                             config_data['looks'].append(look_name)
 
                     look_names_string = ", ".join(look_names)
-                    output_colorspace_copy.name = "%s with %s" % (output_colorspace.name, look_names_string)
-                    output_colorspace_copy.aliases = ["out_%s" % compact(output_colorspace_copy.name)]
+                    output_colorspace_copy.name = "%s with %s" % (
+                    output_colorspace.name, look_names_string)
+                    output_colorspace_copy.aliases = [
+                        "out_%s" % compact(output_colorspace_copy.name)]
 
-                    print( "Colorspace that incorporates looks created : %s" % output_colorspace_copy.name )
+                    print(
+                    "Colorspace that incorporates looks created : %s" % output_colorspace_copy.name)
 
                     config_data['colorSpaces'].append(output_colorspace_copy)
 
             if output_colorspace_copy:
-                print( "Adding colorspace that incorporates looks into view list" )
+                print(
+                "Adding colorspace that incorporates looks into view list")
 
                 # Change the name of the View
-                view_list["Output Transform with %s" % look_names_string] = output_colorspace_copy
+                view_list[
+                    "Output Transform with %s" % look_names_string] = output_colorspace_copy
                 config_data['displays'][display] = view_list
 
-                #print( "Display : %s, View List : %s" % (display, ", ".join(view_list)) )
+                # print( "Display : %s, View List : %s" % (display, ", ".join(view_list)) )
+
 
-def create_config(config_data, 
-    aliases=False, 
-    prefix=False,
-    multiple_displays=False,
-    look_info=[],
-    custom_lut_dir=None):
+def create_config(config_data,
+                  aliases=False,
+                  prefix=False,
+                  multiple_displays=False,
+                  look_info=[],
+                  custom_lut_dir=None):
     """
     Object description.
 
@@ -593,15 +611,15 @@ def create_config(config_data,
     # Add alias
     if aliases:
         if reference_data.aliases != []:
-            #add_colorspace_alias(config, reference_data,
+            # add_colorspace_alias(config, reference_data,
             #                     reference_data, reference_data.aliases)
             # defer adding alias colorspaces until end. Helps with some applications
-            alias_colorspaces.append([reference_data, reference_data, reference_data.aliases])
-
+            alias_colorspaces.append(
+                [reference_data, reference_data, reference_data.aliases])
 
     print("")
 
-    #print( "color spaces : %s" % [x.name for x in sorted(config_data['colorSpaces'])])
+    # print( "color spaces : %s" % [x.name for x in sorted(config_data['colorSpaces'])])
 
     #
     # Add Looks and Look colorspaces
@@ -613,19 +631,19 @@ def create_config(config_data,
 
         # Add looks and colorspaces
         for look in look_info:
-            add_look(config, 
-                look, 
-                prefix, 
-                custom_lut_dir, 
-                reference_data.name,
-                config_data)
+            add_look(config,
+                     look,
+                     prefix,
+                     custom_lut_dir,
+                     reference_data.name,
+                     config_data)
 
         # Integrate looks with displays, views
-        integrate_looks_into_views(config, 
-            look_info,
-            reference_data.name,
-            config_data,
-            multiple_displays)
+        integrate_looks_into_views(config,
+                                   look_info,
+                                   reference_data.name,
+                                   config_data,
+                                   multiple_displays)
 
         print("")
 
@@ -642,10 +660,14 @@ def create_config(config_data,
 
         print('Creating new color space : %s' % colorspace.name)
 
+        description = colorspace.description
+        if colorspace.aces_transform_id:
+            description += "\n\nACES Transform ID : %s" % colorspace.aces_transform_id
+
         ocio_colorspace = ocio.ColorSpace(
             name=colorspace.name,
             bitDepth=colorspace.bit_depth,
-            description=colorspace.description,
+            description=description,
             equalityGroup=colorspace.equality_group,
             family=colorspace.family,
             isData=colorspace.is_data,
@@ -675,38 +697,130 @@ def create_config(config_data,
         #
         if aliases:
             if colorspace.aliases != []:
-                #add_colorspace_alias(config, reference_data,
+                # add_colorspace_alias(config, reference_data,
                 #                     colorspace, colorspace.aliases)
                 # defer adding alias colorspaces until end. Helps with some applications
-                alias_colorspaces.append([reference_data, colorspace, colorspace.aliases])
+                alias_colorspaces.append(
+                    [reference_data, colorspace, colorspace.aliases])
 
         print('')
 
     print("")
 
+    #
+    # We add roles early so we can create alias colorspaces with the names of the roles
+    # before the rest of the colorspace aliases are added to the config.
+    #
+    print('Setting the roles')
+
+    if prefix:
+        set_config_default_roles(
+            config,
+            color_picking=prefixed_names[
+                config_data['roles']['color_picking']],
+            color_timing=prefixed_names[config_data['roles']['color_timing']],
+            compositing_log=prefixed_names[
+                config_data['roles']['compositing_log']],
+            data=prefixed_names[config_data['roles']['data']],
+            default=prefixed_names[config_data['roles']['default']],
+            matte_paint=prefixed_names[config_data['roles']['matte_paint']],
+            reference=prefixed_names[config_data['roles']['reference']],
+            scene_linear=prefixed_names[config_data['roles']['scene_linear']],
+            texture_paint=prefixed_names[
+                config_data['roles']['texture_paint']])
+
+        # Not allowed for the moment. role names can not overlap with colorspace names.
+        '''
+        # Add the aliased colorspaces for each role
+        for role_name, role_colorspace_name in config_data['roles'].iteritems():
+            role_colorspace_prefixed_name = prefixed_names[role_colorspace_name]
+
+            print( "Finding colorspace : %s" % role_colorspace_prefixed_name )
+            # Find the colorspace pointed to by the role
+            role_colorspaces = [colorspace for colorspace in config_data['colorSpaces'] if colorspace.name == role_colorspace_prefixed_name]
+            role_colorspace = None
+            if len(role_colorspaces) > 0:
+                role_colorspace = role_colorspaces[0]
+            else:
+                if reference_data.name == role_colorspace_prefixed_name:
+                    role_colorspace = reference_data
+
+            if role_colorspace:
+                print( "Adding an alias colorspace named %s, pointing to %s" % (
+                    role_name, role_colorspace.name))
+
+                add_colorspace_aliases(config, reference_data, role_colorspace, [role_name], 'Roles')
+        '''
+
+    else:
+        set_config_default_roles(
+            config,
+            color_picking=config_data['roles']['color_picking'],
+            color_timing=config_data['roles']['color_timing'],
+            compositing_log=config_data['roles']['compositing_log'],
+            data=config_data['roles']['data'],
+            default=config_data['roles']['default'],
+            matte_paint=config_data['roles']['matte_paint'],
+            reference=config_data['roles']['reference'],
+            scene_linear=config_data['roles']['scene_linear'],
+            texture_paint=config_data['roles']['texture_paint'])
+
+        # Not allowed for the moment. role names can not overlap with colorspace names.
+        '''
+        # Add the aliased colorspaces for each role
+        for role_name, role_colorspace_name in config_data['roles'].iteritems():
+            # Find the colorspace pointed to by the role
+            role_colorspaces = [colorspace for colorspace in config_data['colorSpaces'] if colorspace.name == role_colorspace_name]
+            role_colorspace = None
+            if len(role_colorspaces) > 0:
+                role_colorspace = role_colorspaces[0]
+            else:
+                if reference_data.name == role_colorspace_name:
+                    role_colorspace = reference_data
+
+            if role_colorspace:
+                print( "Adding an alias colorspace named %s, pointing to %s" % (
+                    role_name, role_colorspace.name))
+
+                add_colorspace_aliases(config, reference_data, role_colorspace, [role_name], 'Roles')
+        '''
+
+    print("")
+
     # We add these at the end as some applications use the order of the colorspaces
     # definitions in the config to order the colorspaces in their selection lists.
     # Other go alphabetically. This should keep the alias colorspaces out of the way
     # for the apps that use the order of definition in the config.
     print('Adding the alias colorspaces')
     for reference, colorspace, aliases in alias_colorspaces:
-        add_colorspace_alias(config, reference, colorspace, aliases)
+        add_colorspace_aliases(config, reference, colorspace, aliases)
 
     print("")
 
     print('Adding the diplays and views')
 
+    # Set the color_picking role to be the first Display's Output Transform View
+    default_display_name = config_data['defaultDisplay']
+    default_display_views = config_data['displays'][default_display_name]
+    default_display_colorspace = default_display_views['Output Transform']
+
+    set_config_default_roles(
+        config,
+        color_picking=default_display_colorspace.name)
+
     # Defining the *views* and *displays*.
     displays = []
     views = []
 
-
     # Defining a *generic* *display* and *view* setup.
     if multiple_displays:
         # Built list of looks to add to Displays
         looks = config_data['looks'] if ('looks' in config_data) else []
         looks = ", ".join(looks)
-        print( "Creating multiple displays, with looks : %s" % looks)
+        print("Creating multiple displays, with looks : %s" % looks)
+
+        # Note: We don't reorder the Displays to put the 'defaultDisplay' first
+        # because OCIO will order them alphabetically when the config is written to disk.
 
         # Create Displays, Views
         for display, view_list in config_data['displays'].iteritems():
@@ -718,24 +832,24 @@ def create_config(config_data,
 
                     # Add View with looks
                     view_name_with_looks = "%s with %s" % (view_name, looks)
-                    config.addDisplay(display, view_name_with_looks, colorspace.name, looks)
+                    config.addDisplay(display, view_name_with_looks,
+                                      colorspace.name, looks)
                 else:
                     config.addDisplay(display, view_name, colorspace.name)
                 if not (view_name in views):
                     views.append(view_name)
             displays.append(display)
 
+    # Defining the set of *views* and *displays* useful in a *GUI* context.
     else:
-        # Defining the set of *views* and *displays* useful in a *GUI* context.
-        #display_name = 'ACES'
-        single_display_name = config_data['roles']['scene_linear']
+        single_display_name = 'ACES'
+        # single_display_name = config_data['roles']['scene_linear']
         displays.append(single_display_name)
 
-        display_names = sorted(config_data['displays'])
-
         # Make sure the default display is first
-        default_display = config_data['defaultDisplay']
-        display_names.insert(0, display_names.pop(display_names.index(default_display)))
+        display_names = sorted(config_data['displays'])
+        display_names.insert(0, display_names.pop(
+            display_names.index(default_display_name)))
 
         # Built list of looks to add to Displays
         looks = config_data['looks'] if ('looks' in config_data) else []
@@ -748,29 +862,33 @@ def create_config(config_data,
             view_list = config_data['displays'][display]
             for view_name, colorspace in view_list.iteritems():
                 if 'Output Transform' in view_name:
-                    #print( "Adding view for %s" % view_name )
-
-                    # Maya 2016 doesn't like parentheses in View names
-                    display_cleaned = replace(display, {')': '', '(': ''})
+                    # print( "Adding view for %s" % colorspace.name )
 
                     # We use the Display names as the View names in this case
                     # as there is a single Display that contains all views.
                     # This works for more applications than not, as of the time of this implementation.
 
+                    # Maya 2016 doesn't like parentheses in View names
+                    display_cleaned = replace(display, {')': '', '(': ''})
+
                     # If View includes looks
                     if 'with' in view_name:
                         # Integrate looks into view name
-                        display_cleaned = "%s with %s" % (display_cleaned, look_names)
+                        display_cleaned = "%s with %s" % (
+                        display_cleaned, look_names)
 
                         viewsWithLooksAtEnd = False
                         # Storing combo of display, view and colorspace name in a list so we can
                         # add them to the end of the list
                         if viewsWithLooksAtEnd:
-                            displays_views_colorspaces.append([single_display_name, display_cleaned, colorspace.name])
+                            displays_views_colorspaces.append(
+                                [single_display_name, display_cleaned,
+                                 colorspace.name])
 
                         # Or add as normal
                         else:
-                            config.addDisplay(single_display_name, display_cleaned, colorspace.name)
+                            config.addDisplay(single_display_name,
+                                              display_cleaned, colorspace.name)
 
                             # Add to views list
                             if not (display_cleaned in views):
@@ -778,18 +896,21 @@ def create_config(config_data,
 
                     # A normal View
                     else:
-                        config.addDisplay(single_display_name, display_cleaned, colorspace.name)
+                        config.addDisplay(single_display_name, display_cleaned,
+                                          colorspace.name)
 
                         # Add to views list
                         if not (display_cleaned in views):
                             views.append(display_cleaned)
 
         # Add to config any display, view combinations that were saved for later
+        # This list will be empty unless viewsWithLooksAtEnd is set to True above 
         for display_view_colorspace in displays_views_colorspaces:
             single_display_name, display_cleaned, colorspace_name = display_view_colorspace
 
             # Add to config
-            config.addDisplay(single_display_name, display_cleaned, colorspace_name)
+            config.addDisplay(single_display_name, display_cleaned,
+                              colorspace_name)
 
             # Add to views list
             if not (display_cleaned in views):
@@ -800,17 +921,17 @@ def create_config(config_data,
         # single_display_name = 'Utility'
         # displays.append(single_display_name)
 
-        linear_display_space_name = config_data['roles']['scene_linear']
+        raw_display_space_name = config_data['roles']['data']
         log_display_space_name = config_data['roles']['compositing_log']
 
         # Find the newly-prefixed colorspace names
         if prefix:
-            #print( prefixed_names )
-            linear_display_space_name = prefixed_names[linear_display_space_name]
+            # print( prefixed_names )
+            raw_display_space_name = prefixed_names[raw_display_space_name]
             log_display_space_name = prefixed_names[log_display_space_name]
 
-        config.addDisplay(single_display_name, 'Linear', linear_display_space_name)
-        views.append('Linear')
+        config.addDisplay(single_display_name, 'Raw', raw_display_space_name)
+        views.append('Raw')
         config.addDisplay(single_display_name, 'Log', log_display_space_name)
         views.append('Log')
 
@@ -820,35 +941,6 @@ def create_config(config_data,
 
     print("")
 
-    print('Setting the roles')
-
-    if prefix:
-        set_config_default_roles(
-            config,
-            color_picking=prefixed_names[config_data['roles']['color_picking']],
-            color_timing=prefixed_names[config_data['roles']['color_timing']],
-            compositing_log=prefixed_names[config_data['roles']['compositing_log']],
-            data=prefixed_names[config_data['roles']['data']],
-            default=prefixed_names[config_data['roles']['default']],
-            matte_paint=prefixed_names[config_data['roles']['matte_paint']],
-            reference=prefixed_names[config_data['roles']['reference']],
-            scene_linear=prefixed_names[config_data['roles']['scene_linear']],
-            texture_paint=prefixed_names[config_data['roles']['texture_paint']])
-    else:
-        set_config_default_roles(
-            config,
-            color_picking=config_data['roles']['color_picking'],
-            color_timing=config_data['roles']['color_timing'],
-            compositing_log=config_data['roles']['compositing_log'],
-            data=config_data['roles']['data'],
-            default=config_data['roles']['default'],
-            matte_paint=config_data['roles']['matte_paint'],
-            reference=config_data['roles']['reference'],
-            scene_linear=config_data['roles']['scene_linear'],
-            texture_paint=config_data['roles']['texture_paint'])
-
-    print("")
-
     # Make sure we didn't create a bad config
     config.sanityCheck()
 
@@ -859,12 +951,24 @@ def create_config(config_data,
         for original, prefixed in prefixed_names.iteritems():
             prefixed_names_inverse[prefixed] = original
 
-        # Reet the reference colorspace name
+        # Reset the reference colorspace name
         reference_data.name = prefixed_names_inverse[reference_data.name]
 
         # Reset the rest of the colorspace names
-        for colorspace in config_data['colorSpaces']:
-            colorspace.name = prefixed_names_inverse[colorspace.name]
+        try:
+            for colorspace in config_data['colorSpaces']:
+                colorspace.name = prefixed_names_inverse[colorspace.name]
+        except:
+            print("Prefixed names")
+            for original, prefixed in prefixed_names.iteritems():
+                print("%s, %s" % (original, prefixed))
+
+            print("\n")
+
+            print("Inverse Lookup of Prefixed names")
+            for prefixed, original in prefixed_names_inverse.iteritems():
+                print("%s, %s" % (prefixed, original))
+            raise
 
     return config
 
@@ -1015,8 +1119,12 @@ def generate_baked_LUTs(odt_info,
          Return value description.
     """
 
-    # Create two entries for ODTs that have full and legal range support
     odt_info_C = dict(odt_info)
+
+    # Uncomment if you would like to support the older behavior where ODTs
+    # that have support for full and legal range output generate a LUT for each.
+    '''
+    # Create two entries for ODTs that have full and legal range support
     for odt_ctl_name, odt_values in odt_info.iteritems():
         if odt_values['transformHasFullLegalSwitch']:
             odt_name = odt_values['transformUserName']
@@ -1030,6 +1138,7 @@ def generate_baked_LUTs(odt_info,
             odt_info_C['%s - Full' % odt_ctl_name] = odt_values_full
 
             del (odt_info_C[odt_ctl_name])
+    '''
 
     # Generate appropriate LUTs for each ODT
     for odt_ctl_name, odt_values in odt_info_C.iteritems():
@@ -1159,7 +1268,7 @@ def generate_baked_LUTs(odt_info,
             bake_lut.execute()
 
 
-def create_config_dir(config_directory, 
+def create_config_dir(config_directory,
                       bake_secondary_LUTs=False,
                       custom_lut_dir=None):
     """
@@ -1225,7 +1334,7 @@ def create_ACES_config(aces_ctl_directory,
     if copy_custom_luts:
         custom_lut_dir = os.path.join(config_directory, "custom")
 
-    lut_directory = create_config_dir(config_directory, 
+    lut_directory = create_config_dir(config_directory,
                                       bake_secondary_LUTs,
                                       custom_lut_dir)
 
@@ -1243,12 +1352,12 @@ def create_ACES_config(aces_ctl_directory,
                                 cleanup)
 
     print('Creating config - with prefixes, with aliases')
-    config = create_config(config_data, 
-        prefix=prefix_colorspaces_with_family_names, 
-        aliases=True, 
-        multiple_displays=multiple_displays,
-        look_info=look_info,
-        custom_lut_dir=custom_lut_dir)
+    config = create_config(config_data,
+                           prefix=prefix_colorspaces_with_family_names,
+                           aliases=True,
+                           multiple_displays=multiple_displays,
+                           look_info=look_info,
+                           custom_lut_dir=custom_lut_dir)
     print('\n\n\n')
 
     write_config(config,
@@ -1284,7 +1393,7 @@ def main():
 
     import optparse
 
-    usage  = '%prog [options]\n'
+    usage = '%prog [options]\n'
     usage += '\n'
     usage += 'An OCIO config generation script for ACES 1.0\n'
     usage += '\n'
@@ -1317,9 +1426,10 @@ def main():
     usage += '\n'
 
     look_info = []
+
     def look_info_callback(option, opt_str, value, parser):
-        print( "look_info_callback" )
-        print( option, opt_str, value, parser )
+        print("look_info_callback")
+        print(option, opt_str, value, parser)
         if opt_str == "--addCustomLookCDL":
             look_info.append(value)
         elif opt_str == "--addCustomLookLUT":
@@ -1342,16 +1452,17 @@ def main():
     p.add_option('--dontBakeSecondaryLUTs', action='store_true', default=False)
     p.add_option('--keepTempImages', action='store_true', default=False)
 
-    p.add_option('--createMultipleDisplays', action='store_true', default=False)
-
-    p.add_option('--addCustomLookLUT', '', type='string', nargs=3, 
-        action="callback", callback=look_info_callback)
-    p.add_option('--addCustomLookCDL', '', type='string', nargs=4, 
-        action="callback", callback=look_info_callback)
-    p.add_option('--addACESLookLUT', '', type='string', nargs=2, 
-        action="callback", callback=look_info_callback)
-    p.add_option('--addACESLookCDL', '', type='string', nargs=3, 
-        action="callback", callback=look_info_callback)
+    p.add_option('--createMultipleDisplays', action='store_true',
+                 default=False)
+
+    p.add_option('--addCustomLookLUT', '', type='string', nargs=3,
+                 action="callback", callback=look_info_callback)
+    p.add_option('--addCustomLookCDL', '', type='string', nargs=4,
+                 action="callback", callback=look_info_callback)
+    p.add_option('--addACESLookLUT', '', type='string', nargs=2,
+                 action="callback", callback=look_info_callback)
+    p.add_option('--addACESLookCDL', '', type='string', nargs=3,
+                 action="callback", callback=look_info_callback)
     p.add_option('--copyCustomLUTs', action='store_true', default=False)
 
     options, arguments = p.parse_args()
@@ -1365,7 +1476,7 @@ def main():
     multiple_displays = options.createMultipleDisplays
     copy_custom_luts = options.copyCustomLUTs
 
-    print( look_info )
+    print(look_info)
 
     # TODO: Investigate the following statements.
     try:
@@ -1397,5 +1508,6 @@ def main():
                               copy_custom_luts,
                               cleanup_temp_images)
 
+
 if __name__ == '__main__':
     main()