[ovs-dev] [PATCH branch-2.8 2/4] ovsdb: ovsdb-dot.in: Use print function for Python3

Markos Chandras mchandras at suse.de
Thu Feb 22 10:30:39 UTC 2018


The python2 print statement no longer works in python3 since the
latter uses a print function. As such, replace all instances of
'print' with 'print()'. This fixes the following build problem with
python3

> ovsdb/ovsdb-client.1.tmp
File "./ovsdb/ovsdb-dot.in", line 34
    print "\t%s -> %s [%s];" % (
                           ^
SyntaxError: invalid syntax

Signed-off-by: Markos Chandras <mchandras at suse.de>
---
 ovsdb/ovsdb-dot.in | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/ovsdb/ovsdb-dot.in b/ovsdb/ovsdb-dot.in
index f7b7ab0db..7f846836d 100755
--- a/ovsdb/ovsdb-dot.in
+++ b/ovsdb/ovsdb-dot.in
@@ -31,38 +31,38 @@ def printEdge(tableName, type, baseType, label):
         options['label'] = '"%s%s"' % (label, arity)
         if baseType.ref_type == 'weak':
             options['style'] = 'dotted'
-        print "\t%s -> %s [%s];" % (
+        print ("\t%s -> %s [%s];" % (
             tableName,
             baseType.ref_table_name,
-            ', '.join(['%s=%s' % (k,v) for k,v in options.items()]))
+            ', '.join(['%s=%s' % (k,v) for k,v in options.items()])))
 
 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 ("digraph %s {" % schema.name)
+    print ('\trankdir=LR;')
+    print ('\tsize="6.5,4";')
+    print ('\tmargin="0";')
+    print ("\tnode [shape=box];")
     if not arrows:
-        print "\tedge [dir=none, arrowhead=none, arrowtail=none];"
+        print ("\tedge [dir=none, arrowhead=none, arrowtail=none];")
     for tableName, table in schema.tables.items():
         options = {}
         if table.is_root:
             options['style'] = 'bold'
-        print "\t%s [%s];" % (
+        print ("\t%s [%s];" % (
             tableName,
-            ', '.join(['%s=%s' % (k,v) for k,v in options.items()]))
+            ', '.join(['%s=%s' % (k,v) for k,v in options.items()])))
         for columnName, column in table.columns.items():
             if column.type.value:
                 printEdge(tableName, column.type, column.type.key, "%s key" % columnName)
                 printEdge(tableName, column.type, column.type.value, "%s value" % columnName)
             else:
                 printEdge(tableName, column.type, column.type.key, columnName)
-    print "}";
+    print ("}");
 
 def usage():
-    print """\
+    print ("""\
 %(argv0)s: compiles ovsdb schemas to graphviz format
 Prints a .dot file that "dot" can render to an entity-relationship diagram
 usage: %(argv0)s [OPTIONS] SCHEMA
@@ -72,7 +72,7 @@ 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}
+""" % {'argv0': argv0})
     sys.exit(0)
 
 if __name__ == "__main__":
@@ -92,7 +92,7 @@ if __name__ == "__main__":
             elif key in ['-h', '--help']:
                 usage()
             elif key in ['-V', '--version']:
-                print "ovsdb-dot (Open vSwitch) @VERSION@"
+                print ("ovsdb-dot (Open vSwitch) @VERSION@")
             else:
                 sys.exit(0)
 
-- 
2.16.2



More information about the dev mailing list