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 02/13] qapi: use items()/values() intead of iteritems()/itervalues()
Date: Mon, 15 Jan 2018 10:26:10 +0000 [thread overview]
Message-ID: <20180115102621.9183-3-berrange@redhat.com> (raw)
In-Reply-To: <20180115102621.9183-1-berrange@redhat.com>
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 <berrange@redhat.com>
---
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))
--
2.14.3
next prev parent 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 ` [Qemu-devel] [PATCH v3 01/13] qapi: convert to use python print function instead of statement Daniel P. Berrange
2018-01-15 10:37 ` Philippe Mathieu-Daudé
2018-01-15 10:26 ` Daniel P. Berrange [this message]
2018-01-15 10:38 ` [Qemu-devel] [PATCH v3 02/13] qapi: use items()/values() intead of iteritems()/itervalues() 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-3-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).