projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ofproto: Add 'name' field to struct ofproto and use hmap instead of shash.
[openvswitch]
/
ovsdb
/
ovsdb-dot.in
diff --git
a/ovsdb/ovsdb-dot.in
b/ovsdb/ovsdb-dot.in
index 4569f2efdd5bb8d1769ae837d25c327cdcaafca1..d41728627f6c850f21f0724b32c5ccdd82c1adaa 100755
(executable)
--- 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['label'] = '"%s"' % label
if baseType.ref_type == 'weak':
options['constraint'] = 'false'
+ options['style'] = 'dotted'
print "\t%s -> %s [%s];" % (
tableName,
baseType.ref_table,
print "\t%s -> %s [%s];" % (
tableName,
baseType.ref_table,
@@
-25,11
+26,17
@@
def schemaToDot(schemaFile):
schema = ovs.db.schema.DbSchema.from_json(ovs.json.from_file(schemaFile))
print "digraph %s {" % schema.name
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():
for tableName, table in schema.tables.iteritems():
- print '\tsize="6.5,4";'
- print '\tmargin="0";'
- print "\tnode [shape=box];"
- 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)
for columnName, column in table.columns.iteritems():
if column.type.value:
printEdge(tableName, column.type.key, "%s key" % columnName)
@@
-67,14
+74,14
@@
if __name__ == "__main__":
print "ovsdb-dot (Open vSwitch) @VERSION@"
else:
sys.exit(0)
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])
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)
except ovs.db.error.Error, e:
sys.stderr.write("%s: %s\n" % (argv0, e.msg))
sys.exit(1)