X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ovsdb%2Fovsdb-dot.in;h=006d7ed90ded2183c5fdacf6c849dd6b380170ca;hb=c5cf10598f8c9f4428291e9df3ecd72a05fb1ccf;hp=85c126d158cf3caff2f41e48137211057f196d29;hpb=7cba02e442012a7ae6cfdfe67f858a18057e5470;p=sliver-openvswitch.git diff --git a/ovsdb/ovsdb-dot.in b/ovsdb/ovsdb-dot.in index 85c126d15..006d7ed90 100755 --- a/ovsdb/ovsdb-dot.in +++ b/ovsdb/ovsdb-dot.in @@ -37,14 +37,16 @@ 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 + print '\trankdir=LR;' 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: @@ -68,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} @@ -77,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@" @@ -95,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))