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:
parent
646fc634ac
commit
00c2d8857c
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
@ -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'])
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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 = """
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
Loading…
Reference in New Issue