django-fsm icon indicating copy to clipboard operation
django-fsm copied to clipboard

graph_transitions: TypeError: expected string or bytes-like object

Open hklarnerben opened this issue 2 years ago • 0 comments

Hi guys,

I am trying to graph transitions and I encountered this TypeError: expected string or bytes-like object. Have you seen this before?

  • Python 3.10.4 (main, Apr 14 2022, 04:48:53) [GCC 8.3.0] on linux
  • django 3.0.14
  • graphviz 0.20
$ python manage.py graph_transitions -v3

[2022-06-14 11:10:19,649 _tools.py DEBUG] deprecate positional args: graphviz.backend.piping.pipe(['renderer', 'formatter', 'neato_no_op', 'quiet'])
[2022-06-14 11:10:19,649 _tools.py DEBUG] deprecate positional args: graphviz.backend.rendering.render(['renderer', 'formatter', 'neato_no_op', 'quiet'])
[2022-06-14 11:10:19,649 _tools.py DEBUG] deprecate positional args: graphviz.backend.unflattening.unflatten(['stagger', 'fanout', 'chain', 'encoding'])
[2022-06-14 11:10:19,649 _tools.py DEBUG] deprecate positional args: graphviz.backend.viewing.view(['quiet'])
[2022-06-14 11:10:19,651 _tools.py DEBUG] deprecate positional args: graphviz.quoting.quote(['is_html_string', 'is_valid_id', 'dot_keywords', 'endswith_odd_number_of_backslashes', 'escape_unescaped_quotes'])
[2022-06-14 11:10:19,651 _tools.py DEBUG] deprecate positional args: graphviz.quoting.a_list(['kwargs', 'attributes'])
[2022-06-14 11:10:19,651 _tools.py DEBUG] deprecate positional args: graphviz.quoting.attr_list(['kwargs', 'attributes'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.dot.Dot.clear(['keep_attrs'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.dot.Dot.__iter__(['subgraph'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.dot.Dot.node(['_attributes'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.dot.Dot.edge(['_attributes'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.dot.Dot.attr(['_attributes'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.dot.Dot.subgraph(['name', 'comment', 'graph_attr', 'node_attr', 'edge_attr', 'body'])
[2022-06-14 11:10:19,652 _tools.py DEBUG] deprecate positional args: graphviz.piping.Pipe._pipe_legacy(['renderer', 'formatter', 'neato_no_op', 'quiet'])
[2022-06-14 11:10:19,653 _tools.py DEBUG] deprecate positional args: graphviz.saving.Save.save(['directory'])
[2022-06-14 11:10:19,653 _tools.py DEBUG] deprecate positional args: graphviz.rendering.Render.render(['directory', 'view', 'cleanup', 'format', 'renderer', 'formatter', 'neato_no_op', 'quiet', 'quiet_view'])
[2022-06-14 11:10:19,653 _tools.py DEBUG] deprecate positional args: graphviz.rendering.Render.view(['directory', 'cleanup', 'quiet', 'quiet_view'])
[2022-06-14 11:10:19,653 _tools.py DEBUG] deprecate positional args: graphviz.unflattening.Unflatten.unflatten(['stagger', 'fanout', 'chain'])
[2022-06-14 11:10:19,654 _tools.py DEBUG] deprecate positional args: graphviz.graphs.BaseGraph.__init__(['comment', 'filename', 'directory', 'format', 'engine', 'encoding', 'graph_attr', 'node_attr', 'edge_attr', 'body', 'strict'])
[2022-06-14 11:10:19,654 _tools.py DEBUG] deprecate positional args: graphviz.sources.Source.from_file(['directory', 'format', 'engine', 'encoding', 'renderer', 'formatter'])
[2022-06-14 11:10:19,654 _tools.py DEBUG] deprecate positional args: graphviz.sources.Source.__init__(['filename', 'directory', 'format', 'engine', 'encoding'])
[2022-06-14 11:10:19,654 _tools.py DEBUG] deprecate positional args: graphviz.sources.Source.save(['directory'])

Traceback (most recent call last):
  File "/opt/project/manage.py", line 23, in <module>
    main()
  File "/opt/project/manage.py", line 19, in main
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.10/site-packages/django/core/management/base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.10/site-packages/django_fsm/management/commands/graph_transitions.py", line 198, in handle
    dotdata = generate_dot(fields_data)
  File "/usr/local/lib/python3.10/site-packages/django_fsm/management/commands/graph_transitions.py", line 94, in generate_dot
    subgraph.node(name, label=label, shape='doublecircle')
  File "/usr/local/lib/python3.10/site-packages/graphviz/_tools.py", line 171, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/graphviz/dot.py", line 196, in node
    attr_list = self._attr_list(label, kwargs=attrs, attributes=_attributes)
  File "/usr/local/lib/python3.10/site-packages/graphviz/_tools.py", line 171, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/graphviz/quoting.py", line 152, in attr_list
    content = a_list(label, kwargs=kwargs, attributes=attributes)
  File "/usr/local/lib/python3.10/site-packages/graphviz/_tools.py", line 171, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/graphviz/quoting.py", line 123, in a_list
    result = [f'label={quote(label)}'] if label is not None else []
  File "/usr/local/lib/python3.10/site-packages/graphviz/_tools.py", line 171, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/graphviz/quoting.py", line 82, in quote
    if is_html_string(identifier) and not isinstance(identifier, NoHtml):
TypeError: expected string or bytes-like object

hklarnerben avatar Jun 14 '22 09:06 hklarnerben