diff options
author | Ben Pfaff <blp@nicira.com> | 2012-12-20 11:02:32 -0800 |
---|---|---|
committer | Justin Pettit <jpettit@nicira.com> | 2013-10-17 15:09:12 -0700 |
commit | af4e1a4ab785cf592efd9eefa9802691523e3af0 (patch) | |
tree | dfde9a06a90b551268447e459d8ac6e2fb99c42d | |
parent | 94639963bf275a41e42277116205da0e9b457580 (diff) |
ovsdb-dot: Include arrows by default.
When ovsdb-dot generates diagrams for use in the manpages, the dot2pic
postprocessor makes nicer output if the arrowheads are omitted (dot2pic
adds the arrowheads itself). But for other uses that don't go through
the postprocessor, we generally want the arrowheads. So this commit adds
an option. On the principle that the default should be the least
surprising to a naive user, arrowheads are included by default.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Justin Pettit <jpettit@nicira.com>
-rwxr-xr-x | ovsdb/ovsdb-dot.in | 16 | ||||
-rw-r--r-- | vswitchd/automake.mk | 2 |
2 files changed, 12 insertions, 6 deletions
diff --git a/ovsdb/ovsdb-dot.in b/ovsdb/ovsdb-dot.in index 8ea84738..006d7ed9 100755 --- a/ovsdb/ovsdb-dot.in +++ b/ovsdb/ovsdb-dot.in @@ -37,7 +37,7 @@ def printEdge(tableName, type, baseType, label): baseType.ref_table_name, ', '.join(['%s=%s' % (k,v) for k,v in options.items()])) -def schemaToDot(schemaFile): +def schemaToDot(schemaFile, arrows): schema = ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schemaFile)) print "digraph %s {" % schema.name @@ -45,7 +45,8 @@ def schemaToDot(schemaFile): print '\tsize="6.5,4";' print '\tmargin="0";' print "\tnode [shape=box];" - print "\tedge [dir=none, arrowhead=none, arrowtail=none];" + if not arrows: + print "\tedge [dir=none, arrowhead=none, arrowtail=none];" for tableName, table in schema.tables.iteritems(): options = {} if table.is_root: @@ -69,6 +70,7 @@ usage: %(argv0)s [OPTIONS] SCHEMA where SCHEMA is an OVSDB schema in JSON format The following options are also available: + --no-arrows omit arrows from diagram -h, --help display this help message -V, --version display version information\ """ % {'argv0': argv0} @@ -78,13 +80,17 @@ if __name__ == "__main__": try: try: options, args = getopt.gnu_getopt(sys.argv[1:], 'hV', - ['help', 'version']) + ['no-arrows', + 'help', 'version',]) except getopt.GetoptError, geo: sys.stderr.write("%s: %s\n" % (argv0, geo.msg)) sys.exit(1) + arrows = True for key, value in options: - if key in ['-h', '--help']: + if key == '--no-arrows': + arrows = False + elif key in ['-h', '--help']: usage() elif key in ['-V', '--version']: print "ovsdb-dot (Open vSwitch) @VERSION@" @@ -96,7 +102,7 @@ if __name__ == "__main__": "(use --help for help)\n" % argv0) sys.exit(1) - schemaToDot(args[0]) + schemaToDot(args[0], arrows) except ovs.db.error.Error, e: sys.stderr.write("%s: %s\n" % (argv0, e.msg)) diff --git a/vswitchd/automake.mk b/vswitchd/automake.mk index 7d1ff5de..f80f7549 100644 --- a/vswitchd/automake.mk +++ b/vswitchd/automake.mk @@ -30,7 +30,7 @@ pkgdata_DATA += vswitchd/vswitch.ovsschema if HAVE_PYTHON if HAVE_DOT vswitchd/vswitch.gv: ovsdb/ovsdb-dot.in vswitchd/vswitch.ovsschema - $(OVSDB_DOT) $(srcdir)/vswitchd/vswitch.ovsschema > $@ + $(OVSDB_DOT) --no-arrows $(srcdir)/vswitchd/vswitch.ovsschema > $@ vswitchd/vswitch.pic: vswitchd/vswitch.gv ovsdb/dot2pic (dot -T plain < vswitchd/vswitch.gv | $(srcdir)/ovsdb/dot2pic -f 3) > $@; VSWITCH_PIC = vswitchd/vswitch.pic |