python3: Add basic compatibility support

Use six.iteritems to replace dictionary.iteritems() on python2 or
dictionary.items() on python3.

Change-Id: I623009200f3a90985a2c0178673df7d54b36a686
Signed-off-by: Chuck Short <chuck.short@canonical.com>
This commit is contained in:
Chuck Short
2013-08-04 01:43:41 +00:00
parent 98c8385d22
commit 8d2f9dd456
4 changed files with 13 additions and 5 deletions

View File

@@ -24,6 +24,8 @@ import hmac
import re
import urllib
import six
class Ec2Signer(object):
"""
@@ -211,7 +213,7 @@ class Ec2Signer(object):
# - the Authorization header (SignedHeaders key)
# - the X-Amz-SignedHeaders query parameter
headers_lower = dict((k.lower().strip(), v.strip())
for (k, v) in headers.iteritems())
for (k, v) in six.iteritems(headers))
# Boto versions < 2.9.3 strip the port component of the host:port
# header, so detect the user-agent via the header and strip the

View File

@@ -18,6 +18,8 @@
from keystoneclient.generic import client
from keystoneclient import utils
import six
CLIENT_CLASS = client.Client
@@ -45,13 +47,13 @@ def do_discover(cs, args):
if versions:
if 'message' in versions:
print(versions['message'])
for key, version in versions.iteritems():
for key, version in six.iteritems(versions):
if key != 'message':
print (" - supports version %s (%s) here %s" %
(version['id'], version['status'], version['url']))
extensions = cs.discover_extensions(version['url'])
if extensions:
for key, extension in extensions.iteritems():
for key, extension in six.iteritems(extensions):
if key != 'message':
print (" - and %s: %s" %
(key, extension))

View File

@@ -154,6 +154,8 @@ import tempfile
import time
import urllib
import six
from keystoneclient.common import cms
from keystoneclient.middleware import memcache_crypt
from keystoneclient.openstack.common import jsonutils
@@ -843,7 +845,7 @@ class AuthProtocol(object):
def _add_headers(self, env, headers):
"""Add http headers to environment."""
for (k, v) in headers.iteritems():
for (k, v) in six.iteritems(headers):
env_key = self._header_to_env_var(k)
env[env_key] = v

View File

@@ -19,6 +19,8 @@ import argparse
import getpass
import sys
import six
from keystoneclient import utils
from keystoneclient.v2_0 import client
@@ -440,7 +442,7 @@ def do_ec2_credentials_delete(kc, args):
def do_catalog(kc, args):
"""List service catalog, possibly filtered by service."""
endpoints = kc.service_catalog.get_endpoints(service_type=args.service)
for (service, service_endpoints) in endpoints.iteritems():
for (service, service_endpoints) in six.iteritems(endpoints):
if len(service_endpoints) > 0:
print("Service: %s" % service)
for ep in service_endpoints: