All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Fam Zheng" <famz@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Eric Blake" <eblake@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrange" <berrange@redhat.com>
Subject: [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement
Date: Mon, 15 Jan 2018 10:26:09 +0000	[thread overview]
Message-ID: <20180115102621.9183-2-berrange@redhat.com> (raw)
In-Reply-To: <20180115102621.9183-1-berrange@redhat.com>

Get Py2 + 3 compatibility by using the print function
instead of print statement. This works for 2.6 onwards.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py                | 12 ++++++------
 scripts/qapi2texi.py           |  9 +++++----
 tests/qapi-schema/test-qapi.py | 41 +++++++++++++++++++++--------------------
 3 files changed, 32 insertions(+), 30 deletions(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index 43a54bf40f..924c762381 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -11,6 +11,7 @@
 # This work is licensed under the terms of the GNU GPL, version 2.
 # See the COPYING file in the top-level directory.
 
+from __future__ import print_function
 import errno
 import getopt
 import os
@@ -1467,7 +1468,7 @@ class QAPISchema(object):
             self._def_exprs()
             self.check()
         except QAPIError as err:
-            print >>sys.stderr, err
+            print (err, file=sys.stderr)
             exit(1)
 
     def _def_entity(self, ent):
@@ -1931,7 +1932,7 @@ def parse_command_line(extra_options='', extra_long_options=[]):
                                        ['source', 'header', 'prefix=',
                                         'output-dir='] + extra_long_options)
     except getopt.GetoptError as err:
-        print >>sys.stderr, "%s: %s" % (sys.argv[0], str(err))
+        print ("%s: %s" % (sys.argv[0], str(err)), file=sys.stderr)
         sys.exit(1)
 
     output_dir = ''
@@ -1945,9 +1946,8 @@ def parse_command_line(extra_options='', extra_long_options=[]):
         if o in ('-p', '--prefix'):
             match = re.match(r'([A-Za-z_.-][A-Za-z0-9_.-]*)?', a)
             if match.end() != len(a):
-                print >>sys.stderr, \
-                    "%s: 'funny character '%s' in argument of --prefix" \
-                    % (sys.argv[0], a[match.end()])
+                print ("%s: 'funny character '%s' in argument of --prefix" \
+                       % (sys.argv[0], a[match.end()]), file=sys.stderr)
                 sys.exit(1)
             prefix = a
         elif o in ('-o', '--output-dir'):
@@ -1964,7 +1964,7 @@ def parse_command_line(extra_options='', extra_long_options=[]):
         do_h = True
 
     if len(args) != 1:
-        print >>sys.stderr, "%s: need exactly one argument" % sys.argv[0]
+        print ("%s: need exactly one argument" % sys.argv[0], file=sys.stderr)
         sys.exit(1)
     fname = args[0]
 
diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py
index 92e2af2cd6..6630138192 100755
--- a/scripts/qapi2texi.py
+++ b/scripts/qapi2texi.py
@@ -4,6 +4,7 @@
 # This work is licensed under the terms of the GNU LGPL, version 2+.
 # See the COPYING file in the top-level directory.
 """This script produces the documentation of a qapi schema in texinfo format"""
+from __future__ import print_function
 import re
 import sys
 
@@ -274,15 +275,15 @@ def texi_schema(schema):
 def main(argv):
     """Takes schema argument, prints result to stdout"""
     if len(argv) != 2:
-        print >>sys.stderr, "%s: need exactly 1 argument: SCHEMA" % argv[0]
+        print ("%s: need exactly 1 argument: SCHEMA" % argv[0], file=sys.stderr)
         sys.exit(1)
 
     schema = qapi.QAPISchema(argv[1])
     if not qapi.doc_required:
-        print >>sys.stderr, ("%s: need pragma 'doc-required' "
-                             "to generate documentation" % argv[0])
+        print ("%s: need pragma 'doc-required' "
+               "to generate documentation" % argv[0], file=sys.stderr)
         sys.exit(1)
-    print texi_schema(schema)
+    print (texi_schema(schema))
 
 
 if __name__ == '__main__':
diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py
index fe0ca08d78..aad407e0df 100644
--- a/tests/qapi-schema/test-qapi.py
+++ b/tests/qapi-schema/test-qapi.py
@@ -10,6 +10,7 @@
 # See the COPYING file in the top-level directory.
 #
 
+from __future__ import print_function
 from qapi import *
 from pprint import pprint
 import os
@@ -18,51 +19,51 @@ import sys
 
 class QAPISchemaTestVisitor(QAPISchemaVisitor):
     def visit_enum_type(self, name, info, values, prefix):
-        print 'enum %s %s' % (name, values)
+        print ('enum %s %s' % (name, values))
         if prefix:
-            print '    prefix %s' % prefix
+            print ('    prefix %s' % prefix)
 
     def visit_object_type(self, name, info, base, members, variants):
-        print 'object %s' % name
+        print ('object %s' % name)
         if base:
-            print '    base %s' % base.name
+            print ('    base %s' % base.name)
         for m in members:
-            print '    member %s: %s optional=%s' % \
-                (m.name, m.type.name, m.optional)
+            print ('    member %s: %s optional=%s' % \
+                (m.name, m.type.name, m.optional))
         self._print_variants(variants)
 
     def visit_alternate_type(self, name, info, variants):
-        print 'alternate %s' % name
+        print ('alternate %s' % name)
         self._print_variants(variants)
 
     def visit_command(self, name, info, arg_type, ret_type,
                       gen, success_response, boxed):
-        print 'command %s %s -> %s' % \
-            (name, arg_type and arg_type.name, ret_type and ret_type.name)
-        print '   gen=%s success_response=%s boxed=%s' % \
-            (gen, success_response, boxed)
+        print ('command %s %s -> %s' % \
+            (name, arg_type and arg_type.name, ret_type and ret_type.name))
+        print ('   gen=%s success_response=%s boxed=%s' % \
+            (gen, success_response, boxed))
 
     def visit_event(self, name, info, arg_type, boxed):
-        print 'event %s %s' % (name, arg_type and arg_type.name)
-        print '   boxed=%s' % boxed
+        print ('event %s %s' % (name, arg_type and arg_type.name))
+        print ('   boxed=%s' % boxed)
 
     @staticmethod
     def _print_variants(variants):
         if variants:
-            print '    tag %s' % variants.tag_member.name
+            print ('    tag %s' % variants.tag_member.name)
             for v in variants.variants:
-                print '    case %s: %s' % (v.name, v.type.name)
+                print ('    case %s: %s' % (v.name, v.type.name))
 
 schema = QAPISchema(sys.argv[1])
 schema.visit(QAPISchemaTestVisitor())
 
 for doc in schema.docs:
     if doc.symbol:
-        print 'doc symbol=%s' % doc.symbol
+        print ('doc symbol=%s' % doc.symbol)
     else:
-        print 'doc freeform'
-    print '    body=\n%s' % doc.body.text
+        print ('doc freeform')
+    print ('    body=\n%s' % doc.body.text)
     for arg, section in doc.args.iteritems():
-        print '    arg=%s\n%s' % (arg, section.text)
+        print ('    arg=%s\n%s' % (arg, section.text))
     for section in doc.sections:
-        print '    section=%s\n%s' % (section.name, section.text)
+        print ('    section=%s\n%s' % (section.name, section.text))
-- 
2.14.3

  reply	other threads:[~2018-01-15 10:26 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-15 10:26 [Qemu-devel] [PATCH v3 00/13] Support building with py2 or py3 Daniel P. Berrange
2018-01-15 10:26 ` Daniel P. Berrange [this message]
2018-01-15 10:37   ` [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement Philippe Mathieu-Daudé
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 02/13] qapi: use items()/values() intead of iteritems()/itervalues() Daniel P. Berrange
2018-01-15 10:38   ` Philippe Mathieu-Daudé
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 03/13] qapi: Use OrderedDict from standard library if available Daniel P. Berrange
2018-01-15 10:39   ` Philippe Mathieu-Daudé
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 04/13] qapi: adapt to moved location of StringIO module in py3 Daniel P. Berrange
2018-01-15 10:40   ` Philippe Mathieu-Daudé
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 05/13] qapi: Adapt to moved location of 'maketrans' function " Daniel P. Berrange
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 06/13] qapi: remove '-q' arg to diff when comparing QAPI output Daniel P. Berrange
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 07/13] qapi: ensure stable sort ordering when checking QAPI entities Daniel P. Berrange
2018-01-15 10:40   ` Philippe Mathieu-Daudé
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 08/13] scripts: ensure signrom treats data as bytes Daniel P. Berrange
2018-01-15 10:41   ` Philippe Mathieu-Daudé
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 09/13] configure: allow use of python 3 Daniel P. Berrange
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 10/13] input: add missing JIS keys to virtio input Daniel P. Berrange
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 11/13] ui: update keycodemapdb to get py3 fixes Daniel P. Berrange
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 12/13] travis: improve python version test coverage Daniel P. Berrange
2018-01-15 10:26 ` [Qemu-devel] [PATCH v3 13/13] docker: change Fedora images to run with python3 Daniel P. Berrange
2018-01-15 10:47   ` Philippe Mathieu-Daudé
2018-01-15 10:53     ` Daniel P. Berrange
2018-01-15 13:06       ` Philippe Mathieu-Daudé
2018-01-15 11:07 ` [Qemu-devel] [PATCH v3 00/13] Support building with py2 or py3 no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180115102621.9183-2-berrange@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=famz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.