/opt/imh-python/lib/python3.9/site-packages/pygraph
NameSizeModeActions
classes/-0755rm
functions/-0755rm
helpers/-0755rm
__pycache__/-0755rm
exceptions.py8210644editdlrm
predefined_graphs.py57460644editdlrm
render.py10180644editdlrm
__init__.py13990644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/pygraph/render.py (1018B)
"""Provides rendering capabilities for graphs.""" def graph_to_dot(graph, node_renderer=None, edge_renderer=None): """Produces a DOT specification string from the provided graph.""" node_pairs = list(graph.nodes.items()) edge_pairs = list(graph.edges.items()) if node_renderer is None: node_renderer_wrapper = lambda nid: '' else: node_renderer_wrapper = lambda nid: ' [%s]' % ','.join( ['%s=%s' % tpl for tpl in list(node_renderer(graph, nid).items())]) # Start the graph graph_string = 'digraph G {\n' graph_string += 'overlap=scale;\n' # Print the nodes (placeholder) for node_id, node in node_pairs: graph_string += '%i%s;\n' % (node_id, node_renderer_wrapper(node_id)) # Print the edges for edge_id, edge in edge_pairs: node_a = edge['vertices'][0] node_b = edge['vertices'][1] graph_string += '%i -> %i;\n' % (node_a, node_b) # Finish the graph graph_string += '}' return graph_string