qapi: convert to use python print function instead of statement
Python 3 no longer supports the bare "print" statement, it must be called as a normal function with round brackets. It is possible to opt-in to this new syntax with Python 2.6 onwards by importing the "print_function" from the "__future__" module, making it easy to support Python 2 and 3 in parallel. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-Id: <20180116134217.8725-2-berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
f24ee107a0
commit
ef9d910891
@ -11,6 +11,7 @@
|
|||||||
# This work is licensed under the terms of the GNU GPL, version 2.
|
# This work is licensed under the terms of the GNU GPL, version 2.
|
||||||
# See the COPYING file in the top-level directory.
|
# See the COPYING file in the top-level directory.
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
import errno
|
import errno
|
||||||
import getopt
|
import getopt
|
||||||
import os
|
import os
|
||||||
@ -1467,7 +1468,7 @@ class QAPISchema(object):
|
|||||||
self._def_exprs()
|
self._def_exprs()
|
||||||
self.check()
|
self.check()
|
||||||
except QAPIError as err:
|
except QAPIError as err:
|
||||||
print >>sys.stderr, err
|
print(err, file=sys.stderr)
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
def _def_entity(self, ent):
|
def _def_entity(self, ent):
|
||||||
@ -1931,7 +1932,7 @@ def parse_command_line(extra_options='', extra_long_options=[]):
|
|||||||
['source', 'header', 'prefix=',
|
['source', 'header', 'prefix=',
|
||||||
'output-dir='] + extra_long_options)
|
'output-dir='] + extra_long_options)
|
||||||
except getopt.GetoptError as err:
|
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)
|
sys.exit(1)
|
||||||
|
|
||||||
output_dir = ''
|
output_dir = ''
|
||||||
@ -1945,9 +1946,8 @@ def parse_command_line(extra_options='', extra_long_options=[]):
|
|||||||
if o in ('-p', '--prefix'):
|
if o in ('-p', '--prefix'):
|
||||||
match = re.match(r'([A-Za-z_.-][A-Za-z0-9_.-]*)?', a)
|
match = re.match(r'([A-Za-z_.-][A-Za-z0-9_.-]*)?', a)
|
||||||
if match.end() != len(a):
|
if match.end() != len(a):
|
||||||
print >>sys.stderr, \
|
print("%s: 'funny character '%s' in argument of --prefix" \
|
||||||
"%s: 'funny character '%s' in argument of --prefix" \
|
% (sys.argv[0], a[match.end()]), file=sys.stderr)
|
||||||
% (sys.argv[0], a[match.end()])
|
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
prefix = a
|
prefix = a
|
||||||
elif o in ('-o', '--output-dir'):
|
elif o in ('-o', '--output-dir'):
|
||||||
@ -1964,7 +1964,7 @@ def parse_command_line(extra_options='', extra_long_options=[]):
|
|||||||
do_h = True
|
do_h = True
|
||||||
|
|
||||||
if len(args) != 1:
|
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)
|
sys.exit(1)
|
||||||
fname = args[0]
|
fname = args[0]
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
# This work is licensed under the terms of the GNU LGPL, version 2+.
|
# This work is licensed under the terms of the GNU LGPL, version 2+.
|
||||||
# See the COPYING file in the top-level directory.
|
# See the COPYING file in the top-level directory.
|
||||||
"""This script produces the documentation of a qapi schema in texinfo format"""
|
"""This script produces the documentation of a qapi schema in texinfo format"""
|
||||||
|
from __future__ import print_function
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
@ -274,15 +275,15 @@ def texi_schema(schema):
|
|||||||
def main(argv):
|
def main(argv):
|
||||||
"""Takes schema argument, prints result to stdout"""
|
"""Takes schema argument, prints result to stdout"""
|
||||||
if len(argv) != 2:
|
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)
|
sys.exit(1)
|
||||||
|
|
||||||
schema = qapi.QAPISchema(argv[1])
|
schema = qapi.QAPISchema(argv[1])
|
||||||
if not qapi.doc_required:
|
if not qapi.doc_required:
|
||||||
print >>sys.stderr, ("%s: need pragma 'doc-required' "
|
print("%s: need pragma 'doc-required' "
|
||||||
"to generate documentation" % argv[0])
|
"to generate documentation" % argv[0], file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
print texi_schema(schema)
|
print(texi_schema(schema))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
# See the COPYING file in the top-level directory.
|
# See the COPYING file in the top-level directory.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
from qapi import *
|
from qapi import *
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
import os
|
import os
|
||||||
@ -18,51 +19,51 @@ import sys
|
|||||||
|
|
||||||
class QAPISchemaTestVisitor(QAPISchemaVisitor):
|
class QAPISchemaTestVisitor(QAPISchemaVisitor):
|
||||||
def visit_enum_type(self, name, info, values, prefix):
|
def visit_enum_type(self, name, info, values, prefix):
|
||||||
print 'enum %s %s' % (name, values)
|
print('enum %s %s' % (name, values))
|
||||||
if prefix:
|
if prefix:
|
||||||
print ' prefix %s' % prefix
|
print(' prefix %s' % prefix)
|
||||||
|
|
||||||
def visit_object_type(self, name, info, base, members, variants):
|
def visit_object_type(self, name, info, base, members, variants):
|
||||||
print 'object %s' % name
|
print('object %s' % name)
|
||||||
if base:
|
if base:
|
||||||
print ' base %s' % base.name
|
print(' base %s' % base.name)
|
||||||
for m in members:
|
for m in members:
|
||||||
print ' member %s: %s optional=%s' % \
|
print(' member %s: %s optional=%s' % \
|
||||||
(m.name, m.type.name, m.optional)
|
(m.name, m.type.name, m.optional))
|
||||||
self._print_variants(variants)
|
self._print_variants(variants)
|
||||||
|
|
||||||
def visit_alternate_type(self, name, info, variants):
|
def visit_alternate_type(self, name, info, variants):
|
||||||
print 'alternate %s' % name
|
print('alternate %s' % name)
|
||||||
self._print_variants(variants)
|
self._print_variants(variants)
|
||||||
|
|
||||||
def visit_command(self, name, info, arg_type, ret_type,
|
def visit_command(self, name, info, arg_type, ret_type,
|
||||||
gen, success_response, boxed):
|
gen, success_response, boxed):
|
||||||
print 'command %s %s -> %s' % \
|
print('command %s %s -> %s' % \
|
||||||
(name, arg_type and arg_type.name, ret_type and ret_type.name)
|
(name, arg_type and arg_type.name, ret_type and ret_type.name))
|
||||||
print ' gen=%s success_response=%s boxed=%s' % \
|
print(' gen=%s success_response=%s boxed=%s' % \
|
||||||
(gen, success_response, boxed)
|
(gen, success_response, boxed))
|
||||||
|
|
||||||
def visit_event(self, name, info, arg_type, boxed):
|
def visit_event(self, name, info, arg_type, boxed):
|
||||||
print 'event %s %s' % (name, arg_type and arg_type.name)
|
print('event %s %s' % (name, arg_type and arg_type.name))
|
||||||
print ' boxed=%s' % boxed
|
print(' boxed=%s' % boxed)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _print_variants(variants):
|
def _print_variants(variants):
|
||||||
if variants:
|
if variants:
|
||||||
print ' tag %s' % variants.tag_member.name
|
print(' tag %s' % variants.tag_member.name)
|
||||||
for v in variants.variants:
|
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 = QAPISchema(sys.argv[1])
|
||||||
schema.visit(QAPISchemaTestVisitor())
|
schema.visit(QAPISchemaTestVisitor())
|
||||||
|
|
||||||
for doc in schema.docs:
|
for doc in schema.docs:
|
||||||
if doc.symbol:
|
if doc.symbol:
|
||||||
print 'doc symbol=%s' % doc.symbol
|
print('doc symbol=%s' % doc.symbol)
|
||||||
else:
|
else:
|
||||||
print 'doc freeform'
|
print('doc freeform')
|
||||||
print ' body=\n%s' % doc.body.text
|
print(' body=\n%s' % doc.body.text)
|
||||||
for arg, section in doc.args.iteritems():
|
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:
|
for section in doc.sections:
|
||||||
print ' section=%s\n%s' % (section.name, section.text)
|
print(' section=%s\n%s' % (section.name, section.text))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user