qapi: use items()/values() intead of iteritems()/itervalues()
The iteritems()/itervalues() methods are gone in py3, but the items()/values() methods are still around. The latter are less efficient than the former in py2, but this has unmeasurably small impact on QEMU build time, so taking portability over efficiency is a net win. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-Id: <20180116134217.8725-3-berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
ef9d910891
commit
2f84804470
|
@ -245,7 +245,7 @@ class QAPIDoc(object):
|
||||||
"'Returns:' is only valid for commands")
|
"'Returns:' is only valid for commands")
|
||||||
|
|
||||||
def check(self):
|
def check(self):
|
||||||
bogus = [name for name, section in self.args.iteritems()
|
bogus = [name for name, section in self.args.items()
|
||||||
if not section.member]
|
if not section.member]
|
||||||
if bogus:
|
if bogus:
|
||||||
raise QAPISemError(
|
raise QAPISemError(
|
||||||
|
@ -300,7 +300,7 @@ class QAPISchemaParser(object):
|
||||||
if not isinstance(pragma, dict):
|
if not isinstance(pragma, dict):
|
||||||
raise QAPISemError(
|
raise QAPISemError(
|
||||||
info, "Value of 'pragma' must be a dictionary")
|
info, "Value of 'pragma' must be a dictionary")
|
||||||
for name, value in pragma.iteritems():
|
for name, value in pragma.items():
|
||||||
self._pragma(name, value, info)
|
self._pragma(name, value, info)
|
||||||
else:
|
else:
|
||||||
expr_elem = {'expr': expr,
|
expr_elem = {'expr': expr,
|
||||||
|
@ -1566,7 +1566,7 @@ class QAPISchema(object):
|
||||||
|
|
||||||
def _make_members(self, data, info):
|
def _make_members(self, data, info):
|
||||||
return [self._make_member(key, value, info)
|
return [self._make_member(key, value, info)
|
||||||
for (key, value) in data.iteritems()]
|
for (key, value) in data.items()]
|
||||||
|
|
||||||
def _def_struct_type(self, expr, info, doc):
|
def _def_struct_type(self, expr, info, doc):
|
||||||
name = expr['struct']
|
name = expr['struct']
|
||||||
|
@ -1598,11 +1598,11 @@ class QAPISchema(object):
|
||||||
name, info, doc, 'base', self._make_members(base, info)))
|
name, info, doc, 'base', self._make_members(base, info)))
|
||||||
if tag_name:
|
if tag_name:
|
||||||
variants = [self._make_variant(key, value)
|
variants = [self._make_variant(key, value)
|
||||||
for (key, value) in data.iteritems()]
|
for (key, value) in data.items()]
|
||||||
members = []
|
members = []
|
||||||
else:
|
else:
|
||||||
variants = [self._make_simple_variant(key, value, info)
|
variants = [self._make_simple_variant(key, value, info)
|
||||||
for (key, value) in data.iteritems()]
|
for (key, value) in data.items()]
|
||||||
typ = self._make_implicit_enum_type(name, info,
|
typ = self._make_implicit_enum_type(name, info,
|
||||||
[v.name for v in variants])
|
[v.name for v in variants])
|
||||||
tag_member = QAPISchemaObjectTypeMember('type', typ, False)
|
tag_member = QAPISchemaObjectTypeMember('type', typ, False)
|
||||||
|
@ -1617,7 +1617,7 @@ class QAPISchema(object):
|
||||||
name = expr['alternate']
|
name = expr['alternate']
|
||||||
data = expr['data']
|
data = expr['data']
|
||||||
variants = [self._make_variant(key, value)
|
variants = [self._make_variant(key, value)
|
||||||
for (key, value) in data.iteritems()]
|
for (key, value) in data.items()]
|
||||||
tag_member = QAPISchemaObjectTypeMember('type', 'QType', False)
|
tag_member = QAPISchemaObjectTypeMember('type', 'QType', False)
|
||||||
self._def_entity(
|
self._def_entity(
|
||||||
QAPISchemaAlternateType(name, info, doc,
|
QAPISchemaAlternateType(name, info, doc,
|
||||||
|
|
|
@ -146,7 +146,7 @@ def texi_member(member, suffix=''):
|
||||||
def texi_members(doc, what, base, variants, member_func):
|
def texi_members(doc, what, base, variants, member_func):
|
||||||
"""Format the table of members"""
|
"""Format the table of members"""
|
||||||
items = ''
|
items = ''
|
||||||
for section in doc.args.itervalues():
|
for section in doc.args.values():
|
||||||
# TODO Drop fallbacks when undocumented members are outlawed
|
# TODO Drop fallbacks when undocumented members are outlawed
|
||||||
if section.text:
|
if section.text:
|
||||||
desc = texi_format(section.text)
|
desc = texi_format(section.text)
|
||||||
|
|
|
@ -63,7 +63,7 @@ for doc in schema.docs:
|
||||||
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.items():
|
||||||
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…
Reference in a new issue