3232__status__ = 'Production'
3333
3434__all__ = [
35- 'build_aces_conversion_graph ' , 'node_to_ctl_transform ' ,
36- 'ctl_transform_to_node ' , 'filter_nodes ' , 'conversion_path ' ,
37- 'plot_aces_conversion_graph'
35+ 'NODE_NAME_SEPARATOR ' , 'build_aces_conversion_graph ' ,
36+ 'node_to_ctl_transform ' , 'ctl_transform_to_node ' , 'filter_nodes ' ,
37+ 'conversion_path' , ' plot_aces_conversion_graph'
3838]
3939
40+ NODE_NAME_SEPARATOR = '/'
41+ """
42+ *aces-dev* conversion graph node name separator.
43+
44+ NODE_NAME_SEPARATOR : unicode
45+ """
46+
4047
4148def build_aces_conversion_graph (ctl_transforms ):
4249 """
@@ -74,6 +81,7 @@ def build_aces_conversion_graph(ctl_transforms):
7481 source = ctl_transform .source
7582 target = ctl_transform .target
7683 family = ctl_transform .family
84+ type_ = ctl_transform .type
7785
7886 if source is None or target is None :
7987 logging .warning (f'"{ ctl_transform } " has either a missing source '
@@ -99,6 +107,11 @@ def build_aces_conversion_graph(ctl_transforms):
99107 f'skipping!' )
100108 continue
101109
110+ source = (source if source in ('ACES2065-1' , 'OCES' ) else
111+ f'{ type_ } { NODE_NAME_SEPARATOR } { source } ' )
112+ target = (target if target in ('ACES2065-1' , 'OCES' ) else
113+ f'{ type_ } { NODE_NAME_SEPARATOR } { target } ' )
114+
102115 # Serializing the data for "Graphviz AGraph".
103116 serialized = codecs .encode (pickle .dumps (ctl_transform , 4 ),
104117 'base64' ).decode ()
@@ -138,7 +151,7 @@ def node_to_ctl_transform(graph, node):
138151 >>> ctl_transforms = classify_aces_ctl_transforms(
139152 ... discover_aces_ctl_transforms())
140153 >>> graph = build_aces_conversion_graph(ctl_transforms)
141- >>> node_to_ctl_transform(graph, 'P3D60_48nits') # doctest: +ELLIPSIS
154+ >>> node_to_ctl_transform(graph, 'ODT/ P3D60_48nits') # doctest: +ELLIPSIS
142155 CTLTransform('odt...p3...ODT.Academy.P3D60_48nits.ctl')
143156 """
144157
@@ -166,9 +179,9 @@ def ctl_transform_to_node(graph, ctl_transform):
166179 >>> ctl_transforms = classify_aces_ctl_transforms(
167180 ... discover_aces_ctl_transforms())
168181 >>> graph = build_aces_conversion_graph(ctl_transforms)
169- >>> ctl_transform = node_to_ctl_transform(graph, 'P3D60_48nits')
182+ >>> ctl_transform = node_to_ctl_transform(graph, 'ODT/ P3D60_48nits')
170183 >>> ctl_transform_to_node(graph, ctl_transform)
171- 'P3D60_48nits'
184+ 'ODT/ P3D60_48nits'
172185 """
173186
174187 for node in graph .nodes :
@@ -200,7 +213,7 @@ def filter_nodes(graph, filterers=None):
200213 ... discover_aces_ctl_transforms())
201214 >>> graph = build_aces_conversion_graph(ctl_transforms)
202215 >>> sorted(filter_nodes(graph, [lambda x: x.genus == 'p3']))[0]
203- 'P3D60_48nits'
216+ 'ODT/ P3D60_48nits'
204217 """
205218
206219 if filterers is None :
@@ -242,9 +255,9 @@ def conversion_path(graph, source, target):
242255 >>> ctl_transforms = classify_aces_ctl_transforms(
243256 ... discover_aces_ctl_transforms())
244257 >>> graph = build_aces_conversion_graph(ctl_transforms)
245- >>> conversion_path(graph, 'Venice_SLog3_SGamut3', 'P3D60_48nits')
246- [('Venice_SLog3_SGamut3', 'ACES2065-1'), ('ACES2065-1', 'OCES'), \
247- ('OCES', 'P3D60_48nits')]
258+ >>> conversion_path(graph, 'IDT/ Venice_SLog3_SGamut3', 'ODT/ P3D60_48nits')
259+ [('IDT/ Venice_SLog3_SGamut3', 'ACES2065-1'), ('ACES2065-1', 'OCES'), \
260+ ('OCES', 'ODT/ P3D60_48nits')]
248261 """
249262
250263 path = nx .shortest_path (graph , source , target )
@@ -273,7 +286,7 @@ def plot_aces_conversion_graph(graph, filename, prog='dot', args=''):
273286 Returns
274287 -------
275288 AGraph
276- *Pyraphviz * graph.
289+ *PyGraphviz * graph.
277290 """
278291
279292 agraph = nx .nx_agraph .to_agraph (graph )
@@ -356,14 +369,16 @@ def plot_aces_conversion_graph(graph, filename, prog='dot', args=''):
356369 filtered_ctl_transforms = filter_ctl_transforms (classified_ctl_transforms )
357370
358371 graph = build_aces_conversion_graph (filtered_ctl_transforms )
372+ print (graph .nodes )
359373
360374 message_box ('Retrieving a "CTL" Transform from a Node' )
361- print (node_to_ctl_transform (graph , 'P3D60_48nits' ))
375+ print (node_to_ctl_transform (graph , 'ODT/ P3D60_48nits' ))
362376
363377 message_box ('Retrieving a Node from a "CTL" Transform' )
364378 print (
365379 ctl_transform_to_node (graph ,
366- node_to_ctl_transform (graph , 'P3D60_48nits' )))
380+ node_to_ctl_transform (graph ,
381+ 'ODT/P3D60_48nits' )))
367382
368383 message_box ('Filtering "output_transform" Family' )
369384 pprint (
0 commit comments