Skip to content

Dot file writing can fail because of node values with : in them? #29

@TibsAtWork

Description

@TibsAtWork

When working with our internal sandbox project, I have seen occurrences of:

Traceback (most recent call last):
  File "/Users/tony.ibbs/temp/metadata-parser/metadata-parser/main.py", line 79, in <module>
    pyvis_display.pyviz_graphy(nodes, edges)
  File "/Users/tony.ibbs/temp/metadata-parser/metadata-parser/src/pyvis_display.py", line 109, in pyviz_graphy
    write_dot(g, 'graph_data.dot')
  File "/Users/tony.ibbs/temp/metadata-parser/metadata-parser/venv/lib/python3.10/site-packages/networkx/utils/decorators.py", line 845, in func
    return argmap._lazy_compile(__wrapper)(*args, **kwargs)
  File "<class 'networkx.utils.decorators.argmap'> compilation 5", line 5, in argmap_write_dot_1
  File "/Users/tony.ibbs/temp/metadata-parser/metadata-parser/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 51, in write_dot
    P = to_pydot(G)
  File "/Users/tony.ibbs/temp/metadata-parser/metadata-parser/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 263, in to_pydot
    raise ValueError(
ValueError: Node names and attributes should not contain ":" unless they are quoted with "".                For example the string 'attribute:data1' should be written as '"attribute:data1"'.                Please refer https://github.com/pydot/pydot/issues/258

(line numbers may be a little off as this was on a branch). This causes the program to stop.

  1. If writing the dot file fails, catch the exception
  2. Work out what to escape in the output so that this does not happen

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions