Skip to content

Commit

Permalink
replace dict.iteritems() with six.iteritems(dict)
Browse files Browse the repository at this point in the history
According to https://wiki.openstack.org/wiki/Python3 dict.iteritems()
should be replaced with six.iteritems(dict).

Change-Id: I9e2881a006433c8b44a3caccebc73bae4973a041
  • Loading branch information
berendt authored and Ethan Lynn committed Aug 6, 2014
1 parent 586395b commit 58e141b
Show file tree
Hide file tree
Showing 31 changed files with 80 additions and 52 deletions.
2 changes: 1 addition & 1 deletion contrib/barbican/barbican/tests/test_order.py
Expand Up @@ -62,7 +62,7 @@ def tearDown(self):
self.patcher_client.stop()

def _register_resources(self):
for res_name, res_class in order.resource_mapping().iteritems():
for res_name, res_class in six.iteritems(order.resource_mapping()):
resource._register_class(res_name, res_class)

def _create_resource(self, name, snippet, stack):
Expand Down
2 changes: 1 addition & 1 deletion contrib/barbican/barbican/tests/test_secret.py
Expand Up @@ -59,7 +59,7 @@ def tearDown(self):
self.patcher_client.stop()

def _register_resources(self):
for res_name, res_class in secret.resource_mapping().iteritems():
for res_name, res_class in six.iteritems(secret.resource_mapping()):
resource._register_class(res_name, res_class)

def _create_resource(self, name, snippet, stack):
Expand Down
4 changes: 3 additions & 1 deletion contrib/docker/docker/resources/docker_container.py
Expand Up @@ -14,6 +14,8 @@
# License for the specific language governing permissions and limitations
# under the License.

import six

from heat.engine import attributes
from heat.engine import properties
from heat.engine import resource
Expand Down Expand Up @@ -185,7 +187,7 @@ def get_client(self):
def _parse_networkinfo_ports(self, networkinfo):
tcp = []
udp = []
for port, info in networkinfo['Ports'].iteritems():
for port, info in six.iteritems(networkinfo['Ports']):
p = port.split('/')
if not info or len(p) != 2 or 'HostPort' not in info[0]:
continue
Expand Down
7 changes: 5 additions & 2 deletions contrib/rackspace/rackspace/resources/cloud_loadbalancer.py
Expand Up @@ -14,6 +14,8 @@
import copy
import itertools

import six

from heat.common import exception
from heat.engine import attributes
from heat.engine import constraints
Expand Down Expand Up @@ -411,7 +413,8 @@ def _alter_properties_for_api(self):
metadata = None
if self.METADATA in self.properties.data:
metadata = [{'key': k, 'value': v}
for k, v in self.properties[self.METADATA].iteritems()]
for k, v
in six.iteritems(self.properties[self.METADATA])]

return (session_persistence, connection_logging, metadata)

Expand Down Expand Up @@ -579,7 +582,7 @@ def _remove_none(self, property_dict):
These are values that may be initialized to None.
"""
return dict((key, value)
for (key, value) in property_dict.iteritems()
for (key, value) in six.iteritems(property_dict)
if value)

def validate(self):
Expand Down
4 changes: 2 additions & 2 deletions contrib/rackspace/rackspace/tests/test_cloud_loadbalancer.py
Expand Up @@ -249,13 +249,13 @@ def _mock_loadbalancer(self, lb_template, expected_name, expected_body):
return (rsrc, fake_loadbalancer)

def _set_template(self, templ, **kwargs):
for k, v in kwargs.iteritems():
for k, v in six.iteritems(kwargs):
templ['Resources'][self._get_first_resource_name(templ)][
'Properties'][k] = v
return templ

def _set_expected(self, expected, **kwargs):
for k, v in kwargs.iteritems():
for k, v in six.iteritems(kwargs):
expected[k] = v
return expected

Expand Down
3 changes: 2 additions & 1 deletion heat/api/cloudwatch/watch.py
Expand Up @@ -15,6 +15,7 @@
endpoint for heat AWS-compatible CloudWatch API
"""
from oslo import messaging
import six

from heat.api.aws import exception
from heat.api.aws import utils as api_utils
Expand Down Expand Up @@ -220,7 +221,7 @@ def format_metric_data(d, fil=None):
con = req.context
parms = dict(req.params)
# FIXME : Don't yet handle filtering by Dimensions
filter_result = dict((k, v) for (k, v) in parms.iteritems() if k in
filter_result = dict((k, v) for (k, v) in six.iteritems(parms) if k in
("MetricName", "Namespace"))
LOG.debug("filter parameters : %s" % filter_result)

Expand Down
3 changes: 2 additions & 1 deletion heat/api/openstack/v1/util.py
Expand Up @@ -13,6 +13,7 @@

from functools import wraps

import six
from webob import exc

from heat.common import identifier
Expand Down Expand Up @@ -85,7 +86,7 @@ def get_allowed_params(params, whitelist):
'''
allowed_params = {}

for key, get_type in whitelist.iteritems():
for key, get_type in six.iteritems(whitelist):
value = None
if get_type == 'single':
value = params.get(key)
Expand Down
2 changes: 1 addition & 1 deletion heat/common/exception.py
Expand Up @@ -113,7 +113,7 @@ def __init__(self, **kwargs):
#kwargs doesn't match a variable in the message
#log the issue and the kwargs
LOG.exception(_('Exception in string format operation'))
for name, value in kwargs.iteritems():
for name, value in six.iteritems(kwargs):
LOG.error("%s: %s" % (name, value)) # noqa

if _FATAL_EXCEPTION_FORMAT_ERRORS:
Expand Down
2 changes: 1 addition & 1 deletion heat/common/wsgi.py
Expand Up @@ -407,7 +407,7 @@ def __call__(self, req):
resp = req.get_response(self.application)

print(("*" * 40) + " RESPONSE HEADERS")
for (key, value) in resp.headers.iteritems():
for (key, value) in six.iteritems(resp.headers):
print(key, "=", value)
print

Expand Down
4 changes: 3 additions & 1 deletion heat/db/sqlalchemy/filters.py
Expand Up @@ -11,6 +11,8 @@
# License for the specific language governing permissions and limitations
# under the License.

import six


def exact_filter(query, model, filters):
"""Applies exact match filtering to a query.
Expand All @@ -31,7 +33,7 @@ def exact_filter(query, model, filters):
if filters is None:
filters = {}

for key, value in filters.iteritems():
for key, value in six.iteritems(filters):
if isinstance(value, (list, tuple, set, frozenset)):
column_attr = getattr(model, key)
query = query.filter(column_attr.in_(value))
Expand Down
Expand Up @@ -14,6 +14,7 @@
import copy

from migrate.versioning import util as migrate_util
import six
from sqlalchemy.orm import sessionmaker

from heat.db.sqlalchemy import models
Expand All @@ -32,7 +33,7 @@ def upgrade(migrate_engine):
and 'parameters' in raw_template.template):

template = copy.deepcopy(raw_template.template)
for parameter, schema in template['parameters'].iteritems():
for parameter, schema in six.iteritems(template['parameters']):
changed = False

def _commit_schema(parameter, schema):
Expand Down
Expand Up @@ -13,6 +13,7 @@
import copy

from migrate.versioning import util as migrate_util
import six
from sqlalchemy.orm import sessionmaker

from heat.db.sqlalchemy import models
Expand All @@ -38,8 +39,8 @@ def upgrade(migrate_engine):
def _translate(section, translate_map):
changed = False

for name, details in section.iteritems():
for old_key, new_key in translate_map.iteritems():
for name, details in six.iteritems(section):
for old_key, new_key in six.iteritems(translate_map):
if old_key in details:
details[new_key] = details[old_key]
del details[old_key]
Expand Down
3 changes: 2 additions & 1 deletion heat/db/sqlalchemy/models.py
Expand Up @@ -17,6 +17,7 @@
import uuid

from oslo.db.sqlalchemy import models
import six
import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import backref
Expand Down Expand Up @@ -69,7 +70,7 @@ def update_and_save(self, values, session=None):
if not session:
session = get_session()
session.begin()
for k, v in values.iteritems():
for k, v in six.iteritems(values):
setattr(self, k, v)
session.commit()

Expand Down
2 changes: 1 addition & 1 deletion heat/engine/cfn/functions.py
Expand Up @@ -425,7 +425,7 @@ def replace(string, change):

return string.replace(placeholder, unicode(value))

return reduce(replace, mapping.iteritems(), template)
return reduce(replace, six.iteritems(mapping), template)


class Base64(function.Function):
Expand Down
3 changes: 2 additions & 1 deletion heat/engine/cfn/template.py
Expand Up @@ -13,6 +13,7 @@
# under the License.

import collections
import six

from heat.engine import function
from heat.engine import parameters
Expand Down Expand Up @@ -60,7 +61,7 @@ def __getitem__(self, section):
def param_schemata(self):
params = self.t.get(self.PARAMETERS) or {}
return dict((name, parameters.Schema.from_dict(name, schema))
for name, schema in params.iteritems())
for name, schema in six.iteritems(params))

def parameters(self, stack_identifier, user_params):
return parameters.Parameters(stack_identifier, self,
Expand Down
7 changes: 4 additions & 3 deletions heat/engine/dependencies.py
Expand Up @@ -14,6 +14,7 @@
import collections
import itertools

import six
from six.moves import xrange

from heat.common import exception
Expand Down Expand Up @@ -120,7 +121,7 @@ def outgoing_edges(rqr, node):
for rqd in node:
yield (rqr, rqd)
return itertools.chain.from_iterable(outgoing_edges(*i)
for i in self.iteritems())
for i in six.iteritems(self))

def __delitem__(self, key):
'''Delete the node given by the specified key from the graph.'''
Expand All @@ -135,7 +136,7 @@ def __delitem__(self, key):

def __str__(self):
'''Convert the graph to a human-readable string.'''
pairs = ('%s: %s' % (str(k), str(v)) for k, v in self.iteritems())
pairs = ('%s: %s' % (str(k), str(v)) for k, v in six.iteritems(self))
return '{%s}' % ', '.join(pairs)

@staticmethod
Expand All @@ -146,7 +147,7 @@ def toposort(graph):
This is a destructive operation for the graph.
'''
for iteration in xrange(len(graph)):
for key, node in graph.iteritems():
for key, node in six.iteritems(graph):
if not node:
yield key
del graph[key]
Expand Down
5 changes: 3 additions & 2 deletions heat/engine/environment.py
Expand Up @@ -16,6 +16,7 @@
import os.path

from oslo.config import cfg
import six

from heat.common import environment_format
from heat.common import exception
Expand Down Expand Up @@ -328,7 +329,7 @@ def status_matches(cls):
cls.get_class().support_status.status ==
support_status.encode())

return [name for name, cls in self._registry.iteritems()
return [name for name, cls in six.iteritems(self._registry)
if is_resource(name) and status_matches(cls)]


Expand Down Expand Up @@ -360,7 +361,7 @@ def __init__(self, env=None, user_env=True):
if 'parameters' in env:
self.params = env['parameters']
else:
self.params = dict((k, v) for (k, v) in env.iteritems()
self.params = dict((k, v) for (k, v) in six.iteritems(env)
if k != RESOURCE_REGISTRY)
self.constraints = {}

Expand Down
11 changes: 6 additions & 5 deletions heat/engine/hot/template.py
Expand Up @@ -11,6 +11,7 @@
# under the License.

import collections
import six

from heat.engine.cfn import template as cfn_template
from heat.engine import function
Expand Down Expand Up @@ -107,10 +108,10 @@ def _translate_resources(self, resources):

cfn_resources = {}

for resource_name, attrs in resources.iteritems():
for resource_name, attrs in six.iteritems(resources):
cfn_resource = {}

for attr, attr_value in attrs.iteritems():
for attr, attr_value in six.iteritems(attrs):
cfn_attr = self._translate(attr, HOT_TO_CFN_ATTRS,
_('"%s" is not a valid keyword '
'inside a resource definition'))
Expand All @@ -127,10 +128,10 @@ def _translate_outputs(self, outputs):

cfn_outputs = {}

for output_name, attrs in outputs.iteritems():
for output_name, attrs in six.iteritems(outputs):
cfn_output = {}

for attr, attr_value in attrs.iteritems():
for attr, attr_value in six.iteritems(attrs):
cfn_attr = self._translate(attr, HOT_TO_CFN_ATTRS,
_('"%s" is not a valid keyword '
'inside an output definition'))
Expand All @@ -144,7 +145,7 @@ def param_schemata(self):
parameter_section = self.t.get(self.PARAMETERS)
if parameter_section is None:
parameter_section = {}
params = parameter_section.iteritems()
params = six.iteritems(parameter_section)
return dict((name, parameters.HOTParamSchema.from_dict(name, schema))
for name, schema in params)

Expand Down
7 changes: 4 additions & 3 deletions heat/engine/parameters.py
Expand Up @@ -419,7 +419,8 @@ def user_parameter(schema_item):
self.user_params = user_params

schemata = self.tmpl.param_schemata()
user_parameters = (user_parameter(si) for si in schemata.iteritems())
user_parameters = (user_parameter(si) for si in
six.iteritems(schemata))
pseudo_parameters = self._pseudo_parameters(stack_identifier)

self.params = dict((p.name,
Expand Down Expand Up @@ -461,7 +462,7 @@ def map(self, func, filter_func=lambda p: True):
optional filter function) and return the resulting dictionary.
'''
return dict((n, func(p))
for n, p in self.params.iteritems() if filter_func(p))
for n, p in six.iteritems(self.params) if filter_func(p))

def set_stack_id(self, stack_identifier):
'''
Expand All @@ -487,7 +488,7 @@ def _validate_tmpl_parameters(self):
break
if param is not None:
template_params = self.tmpl.t[key] or {}
for name, attrs in template_params.iteritems():
for name, attrs in six.iteritems(template_params):
if not isinstance(attrs, dict):
raise exception.InvalidTemplateParameter(key=name)

Expand Down
4 changes: 3 additions & 1 deletion heat/engine/plugin_manager.py
Expand Up @@ -17,6 +17,7 @@
import sys

from oslo.config import cfg
import six

from heat.common import plugin_loader
from heat.openstack.common import log
Expand Down Expand Up @@ -111,4 +112,5 @@ def load_all(self, plugin_manager):
Mappings are returned as a list of (key, value) tuples.
'''
mod_dicts = plugin_manager.map_to_modules(self.load_from_module)
return itertools.chain.from_iterable(d.iteritems() for d in mod_dicts)
return itertools.chain.from_iterable(six.iteritems(d) for d
in mod_dicts)
5 changes: 3 additions & 2 deletions heat/engine/properties.py
Expand Up @@ -237,7 +237,8 @@ def _get_map(self, value, validate=False):
if not isinstance(value, collections.Mapping):
raise TypeError(_('"%s" is not a map') % value)

return dict(self._get_children(value.iteritems(), validate=validate))
return dict(self._get_children(six.iteritems(value),
validate=validate))

def _get_list(self, value, validate=False):
if value is None:
Expand Down Expand Up @@ -451,7 +452,7 @@ def param_prop_def_items(name, schema):
return {}, {}

param_prop_defs = [param_prop_def_items(n, s)
for n, s in schemata(schema).iteritems()
for n, s in six.iteritems(schemata(schema))
if s.implemented]
param_items, prop_items = zip(*param_prop_defs)
return dict(param_items), dict(prop_items)

0 comments on commit 58e141b

Please sign in to comment.