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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.