From: timv Date: Wed, 12 Dec 2012 02:43:46 +0000 (-0500) Subject: escape quote characters so we don't break graphviz. X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=e2f530cb295a7f851fddaf3445aa5fca5eec7848;p=dyna2 escape quote characters so we don't break graphviz. --- diff --git a/bin/prototype.py b/bin/prototype.py index 0cb721c..bb1e565 100644 --- a/bin/prototype.py +++ b/bin/prototype.py @@ -24,6 +24,12 @@ class Hypergraph(object): self.nodes = set() def edge(self, head, label, body): + + label = re.sub('"', r'\\"', label) + head = re.sub('"', r'\\"', head) + body = map(lambda b: re.sub('"', r'\\"', b), body) + + e = Edge(head, label, tuple(body)) self.edges.append(e) @@ -73,12 +79,12 @@ class Hypergraph(object): # node styles for x in self.nodes: sty[x].update({'shape': 'circle'}) - print >> f, '"%s" [%s]' % (x, ','.join('%s=%s' % (k,v) for k,v in sty[x].items())) + print >> f, '"%s" [%s]' % (x, ','.join('%s="%s"' % (k,v) for k,v in sty[x].items())) # edge styles for e in self.edges: sty[e].update({'shape': 'rectangle'}) - print >> f, '"%s" [%s]' % (id(e), ','.join('%s=%s' % (k,v) for k,v in sty[e].items())) + print >> f, '"%s" [%s]' % (id(e), ','.join('%s="%s"' % (k,v) for k,v in sty[e].items())) print >> f, '}'