Cleanup deprecated iteritems of dict

To fix the issue because of using deprecated method in python3, replace
iteritems() with items(). Although tacker itself does not cause the
error because it uses `six` actually, no need to keep python2 support.

Change-Id: Ifec7d5d3146ffe01addcb1e5c0ab78ce92bae0ff
Related-Bug: 1872120
This commit is contained in:
Yasufumi Ogawa 2020-05-12 05:48:52 +00:00
parent f8f008dc2c
commit ccf89cb149
5 changed files with 12 additions and 18 deletions

View File

@ -19,7 +19,6 @@ from oslo_config import cfg
import oslo_i18n
from oslo_log import log as logging
from oslo_policy import policy as oslo_policy
from six import iteritems
from six.moves.urllib import parse as urllib_parse
from webob import exc
@ -41,7 +40,7 @@ def get_filters(request, attr_info, skips=None):
"""
res = {}
skips = skips or []
for key, values in iteritems(request.GET.dict_of_lists()):
for key, values in request.GET.dict_of_lists().items():
if key in skips:
continue
values = [v for v in values if v]

View File

@ -18,7 +18,6 @@ import weakref
from oslo_log import log as logging
import six
from six import iteritems
from sqlalchemy.orm import exc as orm_exc
from sqlalchemy import sql
@ -92,7 +91,8 @@ class CommonDbMixin(object):
query_filter = (model.tenant_id == context.tenant_id)
# Execute query hooks registered from mixins and plugins
for _name, hooks in iteritems(self._model_query_hooks.get(model, {})):
model_hooks = self._model_query_hooks.get(model, {})
for _name, hooks in model_hooks.items():
query_hook = hooks.get('query')
if isinstance(query_hook, six.string_types):
query_hook = getattr(self, query_hook, None)
@ -139,12 +139,12 @@ class CommonDbMixin(object):
def _apply_filters_to_query(self, query, model, filters):
if filters:
for key, value in iteritems(filters):
for key, value in filters.items():
column = getattr(model, key, None)
if column:
query = query.filter(column.in_(value))
for _name, hooks in iteritems(
self._model_query_hooks.get(model, {})):
model_hooks = self._model_query_hooks.get(model, {})
for _name, hooks in model_hooks.items():
result_filter = hooks.get('result_filters', None)
if isinstance(result_filter, six.string_types):
result_filter = getattr(self, result_filter, None)
@ -207,8 +207,7 @@ class CommonDbMixin(object):
the model passed as second parameter.
"""
columns = [c.name for c in model.__table__.columns]
return dict((k, v) for (k, v) in
iteritems(data) if k in columns)
return dict((k, v) for (k, v) in data.items() if k in columns)
def _get_by_name(self, context, model, name):
try:

View File

@ -17,7 +17,6 @@ from oslo_db.exception import DBDuplicateEntry
from oslo_log import log as logging
from oslo_utils import timeutils
from oslo_utils import uuidutils
from six import iteritems
import sqlalchemy as sa
from sqlalchemy import orm
@ -301,7 +300,7 @@ class NSPluginDb(network_service.NSPluginBase, db_base.CommonDbMixin):
vnf_ids = dict()
vnffg_ids = dict()
if len(output) > 0:
for vnfd_name, vnfd_val in iteritems(vnfd_dict):
for vnfd_name, vnfd_val in vnfd_dict.items():
for instance in vnfd_val['instances']:
if 'mgmt_ip_address_' + instance in output:
mgmt_ip_addresses[instance] = ast.literal_eval(

View File

@ -18,7 +18,6 @@ import random
import sqlalchemy as sa
from oslo_log import log as logging
from six import iteritems
from sqlalchemy import orm
from sqlalchemy.orm import exc as orm_exc
from tacker.db import db_base
@ -308,7 +307,7 @@ class VnffgPluginDbMixin(vnffg.VNFFGPluginBase, db_base.CommonDbMixin):
if 'get_input' not in str(original):
return
if isinstance(original, dict):
for key_, value in iteritems(original):
for key_, value in original.items():
if isinstance(value, dict) and 'get_input' in value:
if value['get_input'] in paramvalues:
original[key_] = paramvalues[value['get_input']]
@ -739,7 +738,7 @@ class VnffgPluginDbMixin(vnffg.VNFFGPluginBase, db_base.CommonDbMixin):
except ValueError:
raise nfvo.NfpPolicyCriteriaError(error="Range missing or "
"incorrect for "
"%s".format(criteria))
"{}".format(criteria))
return {criteria_min: int(min_val), criteria_max: int(max_val)}
elif criteria.endswith('_name'):

View File

@ -138,14 +138,12 @@ class TestController(base.TestCase):
expected_message = ("Invalid input for field/attribute "
"{attribute}. Value: {value}. {value} is not "
"of type 'string'".
format(value=value, attribute=attribute,
expected_type=expected_type))
format(value=value, attribute=attribute))
elif expected_type in ["name_allow_zero_min_length", "description"]:
expected_message = ("Invalid input for field/attribute "
"{attribute}. " "Value: {value}. {value} is "
"not of type 'string'".
format(value=value, attribute=attribute,
expected_type=expected_type))
format(value=value, attribute=attribute))
self.assertEqual(expected_message, exception.msg)