X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2Fovsdb-dot.in;h=d41728627f6c850f21f0724b32c5ccdd82c1adaa;hb=1c2e2d2fc87c9435b6fe33112b0ddaab59f507c5;hp=cea89879d3c9d34e2a7725152e7c51d93bced53d;hpb=fca64c1292812ebea45433b104b9549a02ea268d;p=openvswitch diff --git a/ovsdb/ovsdb-dot.in b/ovsdb/ovsdb-dot.in index cea89879..d4172862 100755 --- a/ovsdb/ovsdb-dot.in +++ b/ovsdb/ovsdb-dot.in @@ -16,6 +16,7 @@ def printEdge(tableName, baseType, label): options['label'] = '"%s"' % label if baseType.ref_type == 'weak': options['constraint'] = 'false' + options['style'] = 'dotted' print "\t%s -> %s [%s];" % ( tableName, baseType.ref_table, @@ -25,12 +26,17 @@ def schemaToDot(schemaFile): schema = ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schemaFile)) print "digraph %s {" % schema.name + print '\tsize="6.5,4";' + print '\tmargin="0";' + print "\tnode [shape=box];" + print "\tedge [dir=none, arrowhead=none, arrowtail=none];" for tableName, table in schema.tables.iteritems(): - print '\tsize="6.5,4";' - print '\tmargin="0";' - print "\tnode [shape=box];" - print "\tedge [dir=none, arrowhead=none, arrowtail=none];" - print "\t%s;" % tableName + options = {} + if table.is_root: + options['style'] = 'bold' + print "\t%s [%s];" % ( + tableName, + ', '.join(['%s=%s' % (k,v) for k,v in options.items()])) for columnName, column in table.columns.iteritems(): if column.type.value: printEdge(tableName, column.type.key, "%s key" % columnName) @@ -68,14 +74,14 @@ if __name__ == "__main__": print "ovsdb-dot (Open vSwitch) @VERSION@" else: sys.exit(0) - + if len(args) != 1: sys.stderr.write("%s: exactly 1 non-option argument required " "(use --help for help)\n" % argv0) sys.exit(1) schemaToDot(args[0]) - + except ovs.db.error.Error, e: sys.stderr.write("%s: %s\n" % (argv0, e.msg)) sys.exit(1)