There was some differences between how pydot quotes IDs (names, attrs)
and how it is defined in DOT language specification (and how pygraphviz
does it).
New test with covered cases has been added and new regexpes
for checking IDs has been also added.
Fixes #36
Older versions of graphviz (tested on version 2.26.3 (20100126.1600))
complains when an attribute is empty without quotes. [label=] fails but
[label=""] works, so the quote_if_necessary function has been updated to
accommodate this.
-Fixed issue 55 regarding unicode handling.
-Fixed issue 50 where an ending colon in a node name was understood as a port separator. Colons as the last character of node names will be left as-is.
-Issue 59 (and duplicate issue 62): Program arguments are mishandled in Dot.create - Patch merged.
-Fixed issue 49, handling of quotes in unicode html-labels.
-Fixed issue 60. Added an additional check in __get_attribute__ to not assume the parent graph is always retrievable.
-Fixed issue 61. Graph names will be adequately quoted when necessary.
git-svn-id: http://pydot.googlecode.com/svn/trunk@27 06aa9b79-7134-0410-ae7e-c1cd3e483e87
-Added information in create()'s docstring about optional command-line arguments and how to provide them
git-svn-id: http://pydot.googlecode.com/svn/trunk@25 06aa9b79-7134-0410-ae7e-c1cd3e483e87
-If arguments need to be specified for 'dot', 'neato' and rest of graph layout engines they can now be passed to the create() and create_*() family of functions. If a string is passed it's expected to be simply the name of the program. If a list is passed it's assumed to contain strings, the name of the layout engine as the first element, followed by any optional arguments that will be later appended to the command line.
git-svn-id: http://pydot.googlecode.com/svn/trunk@24 06aa9b79-7134-0410-ae7e-c1cd3e483e87
- The "id_re_with_port" regex was too lax, and let through many illegal strings just because they contained colons. Fix it to require that both the ID and port component be independently safe.
- Even when the code detected that a string needed quoting, ", \n, and \r were left alone inside the double quotes, which is illegal. Replace them with appropriately escaped versions.
We also add a test that pydot is correctly able to quote Python's "string.printable" string, which exercises both of the above cases.
git-svn-id: http://pydot.googlecode.com/svn/trunk@18 06aa9b79-7134-0410-ae7e-c1cd3e483e87