[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print func
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement |
Date: |
Mon, 15 Jan 2018 07:37:17 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
Hi Daniel,
On 01/15/2018 07:26 AM, Daniel P. Berrange wrote:
> 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 <address@hidden>
> ---
> 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)
Now than it is a function, can you remove the space?
> exit(1)
>
> def _def_entity(self, ent):
> @@ -1931,7 +1932,7 @@ def parse_command_line(exdatostra_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))
>
without spaces:
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
- [Qemu-devel] [PATCH v3 00/13] Support building with py2 or py3, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement, Daniel P. Berrange, 2018/01/15
- Re: [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v3 03/13] qapi: Use OrderedDict from standard library if available, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 02/13] qapi: use items()/values() intead of iteritems()/itervalues(), Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 04/13] qapi: adapt to moved location of StringIO module in py3, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 05/13] qapi: Adapt to moved location of 'maketrans' function in py3, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 06/13] qapi: remove '-q' arg to diff when comparing QAPI output, Daniel P. Berrange, 2018/01/15
- [Qemu-devel] [PATCH v3 07/13] qapi: ensure stable sort ordering when checking QAPI entities, Daniel P. Berrange, 2018/01/15