On 01/15/2018 07:26 AM, Daniel P. Berrange wrote: > 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 > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > scripts/qapi.py | 12 ++++++------ > scripts/qapi2texi.py | 2 +- > tests/qapi-schema/test-qapi.py | 2 +- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/scripts/qapi.py b/scripts/qapi.py > index 924c762381..5ef50317ca 100644 > --- a/scripts/qapi.py > +++ b/scripts/qapi.py > @@ -245,7 +245,7 @@ class QAPIDoc(object): > "'Returns:' is only valid for commands") > > 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 bogus: > raise QAPISemError( > @@ -300,7 +300,7 @@ class QAPISchemaParser(object): > if not isinstance(pragma, dict): > raise QAPISemError( > 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) > else: > expr_elem = {'expr': expr, > @@ -1566,7 +1566,7 @@ class QAPISchema(object): > > def _make_members(self, data, 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): > name = expr['struct'] > @@ -1598,11 +1598,11 @@ class QAPISchema(object): > name, info, doc, 'base', self._make_members(base, info))) > if tag_name: > variants = [self._make_variant(key, value) > - for (key, value) in data.iteritems()] > + for (key, value) in data.items()] > members = [] > else: > 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, > [v.name for v in variants]) > tag_member = QAPISchemaObjectTypeMember('type', typ, False) > @@ -1617,7 +1617,7 @@ class QAPISchema(object): > name = expr['alternate'] > data = expr['data'] > variants = [self._make_variant(key, value) > - for (key, value) in data.iteritems()] > + for (key, value) in data.items()] > tag_member = QAPISchemaObjectTypeMember('type', 'QType', False) > self._def_entity( > QAPISchemaAlternateType(name, info, doc, > diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py > index 6630138192..d155cf099e 100755 > --- a/scripts/qapi2texi.py > +++ b/scripts/qapi2texi.py > @@ -146,7 +146,7 @@ def texi_member(member, suffix=''): > def texi_members(doc, what, base, variants, member_func): > """Format the table of members""" > items = '' > - for section in doc.args.itervalues(): > + for section in doc.args.values(): > # TODO Drop fallbacks when undocumented members are outlawed > if section.text: > desc = texi_format(section.text) > diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py > index aad407e0df..f535bc1c0c 100644 > --- a/tests/qapi-schema/test-qapi.py > +++ b/tests/qapi-schema/test-qapi.py > @@ -63,7 +63,7 @@ for doc in schema.docs: > else: > print ('doc freeform') > 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)) > for section in doc.sections: > print (' section=%s\n%s' % (section.name, section.text)) >