pydot-ng icon indicating copy to clipboard operation
pydot-ng copied to clipboard

[85] Multiple styles not correctly rendered ("style=S1, S2=true")

Open prmtl opened this issue 9 years ago • 1 comments

Reported by [email protected], 2013-09-20T20:02:10Z

What steps will reproduce the problem?
  1. add a node constructed like pydot.Node('A', shape='box', style='rounded,dotted')
  2. use graph.write_raw() to emit the dot equivalent
What is the expected output? What do you see instead?

expected output: A [style="rounded,dotted", shape=box];

actual output: A [style=rounded,dotted, shape=box];

Note the lack of quoting. dot sees only "rounded" and ignores "dotted".

What version of the product are you using? On what operating system?

svn r29 from http://pydot.googlecode.com/svn/trunk

Please provide any additional information below.

Here is my complete test script:

import pydot

graph = pydot.Dot(graph_type='digraph')
graph.add_node(pydot.Node('A', shape='box', style='rounded,dotted'))

graph.write_raw('twostyles.dot')

and here is the complete dot file that I expect from that script:

digraph G {
A [style="rounded,dotted", shape=box];
}

From: https://code.google.com/p/pydot/issues/detail?id=85

prmtl avatar Mar 08 '15 16:03 prmtl

Comment by [email protected], 2013-09-20T11:04:20Z

Oops, issue title is slightly misleading. I'm pretty sure this is a quoting bug. I got confused because using write_dot() creates output like

A [style=rounded, dotted=true, shape=box, ...];

I assume that's because dot interprets ",dotted" as an attribute with no value, so gives it the default value true. Issue title should be

Multiple styles not correctly rendered (quotes missing)

prmtl avatar Mar 08 '15 16:03 prmtl