Use dict.items() and dict.values() as per guidelines

There are occurrences where six.iteritems(dict) and
six.itervalues(dict) is used instead of dict.items()
and dict.values() respectively which contradicts with
the guidelines provided here [1].

This patch fixes such occurrences by replacing 'iteritems'
and 'itervalues' with 'items' and 'values' respectively.

[1] https://wiki.openstack.org/wiki/Python3

Change-Id: I20eb92be8bea01dec6163c9ed84c64370123a75d
This commit is contained in:
hussainchachuliya 2017-01-11 18:38:18 +05:30
parent 646fc634ac
commit 00c2d8857c
10 changed files with 18 additions and 23 deletions

View File

@ -127,7 +127,7 @@ class ExtensionManager(object):
def sorted_extensions(self):
if self.sorted_ext_list is None:
self.sorted_ext_list = sorted(six.iteritems(self.extensions))
self.sorted_ext_list = sorted(self.extensions.items())
for _alias, ext in self.sorted_ext_list:
yield ext

View File

@ -13,7 +13,6 @@
# under the License.
from oslo_log import log as logging
import six
from six.moves import http_client
import webob.exc
@ -56,7 +55,7 @@ class ExtensionInfoController(wsgi.Controller):
discoverable_extensions = dict()
for alias, ext in six.iteritems(self.extension_info.get_extensions()):
for alias, ext in self.extension_info.get_extensions().items():
authorize = extensions.os_masakari_soft_authorizer(alias)
if authorize(context, action='discoverable'):
discoverable_extensions[alias] = ext
@ -71,8 +70,7 @@ class ExtensionInfoController(wsgi.Controller):
context = req.environ['masakari.context']
authorize(context)
discoverable_extensions = self._get_extensions(context)
sorted_ext_list = sorted(
six.iteritems(discoverable_extensions))
sorted_ext_list = sorted(discoverable_extensions.items())
extensions = []
for _alias, ext in sorted_ext_list:

View File

@ -67,7 +67,7 @@ class ConvertedException(webob.exc.WSGIHTTPException):
def _cleanse_dict(original):
"""Strip all admin_password, new_pass, rescue_pass keys from a dict."""
return {k: v for k, v in six.iteritems(original) if "_pass" not in k}
return {k: v for k, v in original.items() if "_pass" not in k}
def wrap_exception(notifier=None, get_notifier=None):
@ -138,7 +138,7 @@ class MasakariException(Exception):
# kwargs doesn't match a variable in the message
# log the issue and the kwargs
LOG.exception(_LE('Exception in string format operation'))
for name, value in six.iteritems(kwargs):
for name, value in kwargs.items():
LOG.error("%s: %s" % (name, value)) # noqa
if CONF.fatal_exception_format_errors:

View File

@ -387,21 +387,22 @@ def check_doubled_words(physical_line, filename):
def check_python3_no_iteritems(logical_line):
msg = ("M326: Use six.iteritems() instead of dict.iteritems().")
msg = ("M326: Use dict.items() instead of dict.iteritems().")
if re.search(r".*\.iteritems\(\)", logical_line):
yield(0, msg)
def check_python3_no_iterkeys(logical_line):
msg = ("M327: Use six.iterkeys() instead of dict.iterkeys().")
msg = ("M327: Use 'for key in dict' instead of 'for key in "
"dict.iterkeys()'.")
if re.search(r".*\.iterkeys\(\)", logical_line):
yield(0, msg)
def check_python3_no_itervalues(logical_line):
msg = ("M328: Use six.itervalues() instead of dict.itervalues().")
msg = ("M328: Use dict.values() instead of dict.itervalues().")
if re.search(r".*\.itervalues\(\)", logical_line):
yield(0, msg)

View File

@ -119,7 +119,7 @@ class TestCase(testtools.TestCase):
def flags(self, **kw):
"""Override flag variables for a test."""
group = kw.pop('group', None)
for k, v in six.iteritems(kw):
for k, v in kw.items():
CONF.set_override(k, v, group)

View File

@ -15,7 +15,6 @@
from oslo_utils import timeutils
import routes
import six
import webob.dec
from masakari.api import api_version_request as api_version
@ -60,7 +59,7 @@ class FakeToken(object):
def __init__(self, **kwargs):
FakeToken.id_count += 1
self.id = FakeToken.id_count
for k, v in six.iteritems(kwargs):
for k, v in kwargs.items():
setattr(self, k, v)

View File

@ -16,7 +16,6 @@
import inspect
import mock
import six
from six.moves import http_client as http
import testscenarios
import webob
@ -881,7 +880,7 @@ class ResourceTest(MicroversionedTest):
req = webob.Request.blank('/tests')
app = fakes.TestRouter(Controller())
response = req.get_response(app)
for val in six.itervalues(response.headers):
for val in response.headers.values():
# All headers must be utf8
self.assertThat(val, matchers.EncodedByUTF8())
self.assertEqual(b'1', response.headers['x-header1'])

View File

@ -17,7 +17,6 @@ import os
import fixtures
from oslo_policy import policy as oslo_policy
from oslo_serialization import jsonutils
import six
import masakari.conf
from masakari.conf import paths
@ -97,7 +96,7 @@ class RoleBasedPolicyFixture(RealPolicyFixture):
policy = jsonutils.loads(policy)
# Convert all actions to require specified role
for action, rule in six.iteritems(policy):
for action, rule in policy.items():
policy[action] = 'role:%s' % self.role
self.policy_dir = self.useFixture(fixtures.TempDir())

View File

@ -448,21 +448,21 @@ class HackingTestCase(test.NoDBTestCase):
"obj.iteritems()"))))
self.assertEqual(0, len(list(checks.check_python3_no_iteritems(
"six.iteritems(ob))"))))
"ob.items()"))))
def test_dict_iterkeys(self):
self.assertEqual(1, len(list(checks.check_python3_no_iterkeys(
"obj.iterkeys()"))))
"for key in obj.iterkeys()"))))
self.assertEqual(0, len(list(checks.check_python3_no_iterkeys(
"six.iterkeys(ob))"))))
"for key in ob"))))
def test_dict_itervalues(self):
self.assertEqual(1, len(list(checks.check_python3_no_itervalues(
"obj.itervalues()"))))
self.assertEqual(0, len(list(checks.check_python3_no_itervalues(
"six.itervalues(ob))"))))
"ob.values()"))))
def test_no_os_popen(self):
code = """

View File

@ -29,7 +29,6 @@ from oslo_service import service
from oslo_utils import excutils
from paste import deploy
import routes.middleware
import six
import webob.dec
import webob.exc
@ -381,7 +380,7 @@ class Debug(Middleware):
resp = req.get_response(self.application)
print(('*' * 40) + ' RESPONSE HEADERS')
for (key, value) in six.iteritems(resp.headers):
for (key, value) in resp.headers.items():
print(key, '=', value)
print()