def _patch_objects():
 layout_attribute_paths = []
 for (node, path) in utils.node_generator(GRAPH_REFERENCE):
  if any([(key in path) for key in GRAPH_REFERENCE['defs']['metaKeys']]):
   continue
  if (path and (path[(-1)] == 'layoutAttributes')):
   layout_attribute_paths.append(path)
 for trace_name in TRACE_NAMES:
  OBJECTS[trace_name] = {'meta_paths': [('traces', trace_name)], 'attribute_paths': [('traces', trace_name, 'attributes')], 'additional_attributes': {}}
 OBJECTS['layout'] = {'meta_paths': [('layout',)], 'attribute_paths': layout_attribute_paths, 'additional_attributes': {}}
 figure_attributes = {'layout': {'role': 'object'}, 'data': {'role': 'object', '_isLinkedToArray': True}, 'frames': {'role': 'object', '_isLinkedToArray': True}}
 OBJECTS['figure'] = {'meta_paths': [], 'attribute_paths': [], 'additional_attributes': figure_attributes}

def _patch_objects ( ) : layout_attribute_paths = [ ] for ( node , path ) in utils . node_generator ( GRAPH_REFERENCE ) : if any ( [ ( key in path ) for key in GRAPH_REFERENCE [ 'defs' ] [ 'metaKeys' ] ] ) : continue if ( path and ( path [ ( - 1 ) ] == 'layoutAttributes' ) ) : layout_attribute_paths . append ( path ) for trace_name in TRACE_NAMES : OBJECTS [ trace_name ] = { 'meta_paths' : [ ( 'traces' , trace_name ) ] , 'attribute_paths' : [ ( 'traces' , trace_name , 'attributes' ) ] , 'additional_attributes' : { } } OBJECTS [ 'layout' ] = { 'meta_paths' : [ ( 'layout' , ) ] , 'attribute_paths' : layout_attribute_paths , 'additional_attributes' : { } } figure_attributes = { 'layout' : { 'role' : 'object' } , 'data' : { 'role' : 'object' , '_isLinkedToArray' : True } , 'frames' : { 'role' : 'object' , '_isLinkedToArray' : True } } OBJECTS [ 'figure' ] = { 'meta_paths' : [ ] , 'attribute_paths' : [ ] , 'additional_attributes' : figure_attributes }
things like layout .