From dfb0e3e3c1b5b5563279bebfe222ed4762f79494 Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Wed, 3 Jul 2013 18:12:58 -0500 Subject: [PATCH] Begin Python 3 compatability * use six.iteritems() * replace basestring with six.string_types * convert print statements to functions (they're all debugging and should be removed eventually anyway) * clean up OpenStack copyright: LLC -> Foundation Change-Id: Icb14212bcb408e63816bfec3922a697bc1a6c946 --- openstackclient/compute/v2/agent.py | 7 ++++--- openstackclient/compute/v2/console.py | 7 +++---- openstackclient/compute/v2/flavor.py | 7 ++++--- openstackclient/compute/v2/floatingip.py | 3 ++- openstackclient/compute/v2/hypervisor.py | 3 ++- openstackclient/compute/v2/keypair.py | 5 +++-- openstackclient/compute/v2/server.py | 8 ++++---- openstackclient/identity/v2_0/ec2creds.py | 8 +++++--- openstackclient/identity/v2_0/endpoint.py | 9 +++++---- openstackclient/identity/v2_0/role.py | 9 +++++---- openstackclient/identity/v2_0/service.py | 9 +++++---- openstackclient/identity/v2_0/tenant.py | 7 ++++--- openstackclient/identity/v2_0/user.py | 7 ++++--- openstackclient/identity/v3/credential.py | 7 ++++--- openstackclient/identity/v3/domain.py | 7 ++++--- openstackclient/identity/v3/endpoint.py | 7 ++++--- openstackclient/identity/v3/group.py | 7 ++++--- openstackclient/identity/v3/oauth.py | 17 +++++++++-------- openstackclient/identity/v3/policy.py | 7 ++++--- openstackclient/identity/v3/project.py | 7 ++++--- openstackclient/identity/v3/role.py | 7 ++++--- openstackclient/identity/v3/service.py | 7 ++++--- openstackclient/identity/v3/user.py | 7 ++++--- openstackclient/volume/v1/backup.py | 7 ++++--- openstackclient/volume/v1/snapshot.py | 5 +++-- openstackclient/volume/v1/type.py | 3 ++- openstackclient/volume/v1/volume.py | 5 +++-- 27 files changed, 107 insertions(+), 82 deletions(-) diff --git a/openstackclient/compute/v2/agent.py b/openstackclient/compute/v2/agent.py index aac69d8a0..b79ebbe76 100644 --- a/openstackclient/compute/v2/agent.py +++ b/openstackclient/compute/v2/agent.py @@ -1,4 +1,4 @@ -# Copyright 2013 OpenStack, LLC. +# Copyright 2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Agent action implementations""" import logging +import six from cliff import command from cliff import lister @@ -70,7 +71,7 @@ class CreateAgent(show.ShowOne): parsed_args.hypervisor ) agent = compute_client.agents.create(*args)._info.copy() - return zip(*sorted(agent.iteritems())) + return zip(*sorted(six.iteritems(agent))) class DeleteAgent(command.Command): @@ -160,4 +161,4 @@ class SetAgent(show.ShowOne): parsed_args.md5hash ) agent = compute_client.agents.update(*args)._info.copy() - return zip(*sorted(agent.iteritems())) + return zip(*sorted(six.iteritems(agent))) diff --git a/openstackclient/compute/v2/console.py b/openstackclient/compute/v2/console.py index a67b004c0..8f49c5134 100644 --- a/openstackclient/compute/v2/console.py +++ b/openstackclient/compute/v2/console.py @@ -13,9 +13,10 @@ # under the License. # -"""Console action implementations""" +"""Compute v2 Console action implementations""" import logging +import six import sys from cliff import command @@ -106,7 +107,6 @@ class ShowConsoleURL(show.ShowOne): parsed_args.server, ) - print "type: %s" % parsed_args.url_type if parsed_args.url_type in ['novnc', 'xvpvnc']: data = server.get_vnc_console(parsed_args.url_type) if parsed_args.url_type in ['spice']: @@ -114,8 +114,7 @@ class ShowConsoleURL(show.ShowOne): if not data: return ({}, {}) - print "data: %s" % data['console'] info = {} info.update(data['console']) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/compute/v2/flavor.py b/openstackclient/compute/v2/flavor.py index 4d53a4122..d1d08d8df 100644 --- a/openstackclient/compute/v2/flavor.py +++ b/openstackclient/compute/v2/flavor.py @@ -1,4 +1,4 @@ -# Copyright 2013 OpenStack, LLC. +# Copyright 2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Flavor action implementations""" import logging +import six from cliff import command from cliff import lister @@ -110,7 +111,7 @@ class CreateFlavor(show.ShowOne): flavor = compute_client.flavors.create(*args)._info.copy() flavor.pop("links") - return zip(*sorted(flavor.iteritems())) + return zip(*sorted(six.iteritems(flavor))) class DeleteFlavor(command.Command): @@ -182,4 +183,4 @@ class ShowFlavor(show.ShowOne): parsed_args.flavor)._info.copy() flavor.pop("links") - return zip(*sorted(flavor.iteritems())) + return zip(*sorted(six.iteritems(flavor))) diff --git a/openstackclient/compute/v2/floatingip.py b/openstackclient/compute/v2/floatingip.py index 1b07beb3d..7ed847f5f 100644 --- a/openstackclient/compute/v2/floatingip.py +++ b/openstackclient/compute/v2/floatingip.py @@ -16,6 +16,7 @@ """Floating IP action implementations""" import logging +import six from cliff import command from cliff import lister @@ -75,7 +76,7 @@ class CreateFloatingIP(show.ShowOne): info = {} info.update(floating_ip._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteFloatingIP(command.Command): diff --git a/openstackclient/compute/v2/hypervisor.py b/openstackclient/compute/v2/hypervisor.py index ad69d3285..535062e8d 100644 --- a/openstackclient/compute/v2/hypervisor.py +++ b/openstackclient/compute/v2/hypervisor.py @@ -16,6 +16,7 @@ """Hypervisor action implementations""" import logging +import six from cliff import lister from cliff import show @@ -79,4 +80,4 @@ class ShowHypervisor(show.ShowOne): hypervisor["service_host"] = hypervisor["service"]["host"] del hypervisor["service"] - return zip(*sorted(hypervisor.iteritems())) + return zip(*sorted(six.iteritems(hypervisor))) diff --git a/openstackclient/compute/v2/keypair.py b/openstackclient/compute/v2/keypair.py index 65f3679b7..d68dae064 100644 --- a/openstackclient/compute/v2/keypair.py +++ b/openstackclient/compute/v2/keypair.py @@ -17,6 +17,7 @@ import logging import os +import six import sys from cliff import command @@ -71,7 +72,7 @@ class CreateKeypair(show.ShowOne): if public_key: info.update(keypair._info) del info['public_key'] - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) else: sys.stdout.write(keypair.private_key) return ({}, {}) @@ -148,7 +149,7 @@ class ShowKeypair(show.ShowOne): info.update(keypair._info['keypair']) if not parsed_args.public_key: del info['public_key'] - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) else: # NOTE(dtroyer): a way to get the public key in a similar form # as the private key in the create command diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 8f81dfdb2..42529af58 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -293,7 +293,7 @@ class CreateServer(show.ShowOne): # NOTE(vish): multiple copies of the same hint will # result in a list of values if key in hints: - if isinstance(hints[key], basestring): + if isinstance(hints[key], six.string_types): hints[key] = [hints[key]] hints[key] += [value] else: @@ -343,7 +343,7 @@ class CreateServer(show.ShowOne): raise SystemExit details = _prep_server_detail(compute_client, server) - return zip(*sorted(details.iteritems())) + return zip(*sorted(six.iteritems(details))) class DeleteServer(command.Command): @@ -728,7 +728,7 @@ class RebuildServer(show.ShowOne): raise SystemExit details = _prep_server_detail(compute_client, server) - return zip(*sorted(details.iteritems())) + return zip(*sorted(six.iteritems(details))) class RemoveServerVolume(command.Command): @@ -974,7 +974,7 @@ class ShowServer(show.ShowOne): else: data = _prep_server_detail(compute_client, server) - return zip(*sorted(data.iteritems())) + return zip(*sorted(six.iteritems(data))) class SuspendServer(command.Command): diff --git a/openstackclient/identity/v2_0/ec2creds.py b/openstackclient/identity/v2_0/ec2creds.py index 953a3de6a..cb3a51658 100644 --- a/openstackclient/identity/v2_0/ec2creds.py +++ b/openstackclient/identity/v2_0/ec2creds.py @@ -1,3 +1,4 @@ +# Copyright 2012 OpenStack Foundation # Copyright 2013 Nebula Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -13,9 +14,10 @@ # under the License. # -"""EC2 Credentials action implementations""" +"""Identity v2 EC2 Credentials action implementations""" import logging +import six from cliff import command from cliff import lister @@ -68,7 +70,7 @@ class CreateEC2Creds(show.ShowOne): info = {} info.update(creds._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteEC2Creds(command.Command): @@ -178,4 +180,4 @@ class ShowEC2Creds(show.ShowOne): info = {} info.update(creds._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v2_0/endpoint.py b/openstackclient/identity/v2_0/endpoint.py index 680465ae4..5a050fa19 100644 --- a/openstackclient/identity/v2_0/endpoint.py +++ b/openstackclient/identity/v2_0/endpoint.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Endpoint action implementations""" import logging +import six from cliff import command from cliff import lister @@ -71,7 +72,7 @@ class CreateEndpoint(show.ShowOne): info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteEndpoint(command.Command): @@ -183,7 +184,7 @@ class ShowEndpoint(show.ShowOne): url = identity_client.service_catalog.url_for(**kwargs) info = {'%s.%s' % (parsed_args.service, parsed_args.type): url} - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) else: # The Identity 2.0 API doesn't support retrieving a single # endpoint so we have to do this ourselves @@ -211,4 +212,4 @@ class ShowEndpoint(show.ShowOne): ep.service_id) info['service_name'] = service.name info['service_type'] = service.type - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v2_0/role.py b/openstackclient/identity/v2_0/role.py index 867230b6b..61a83af57 100644 --- a/openstackclient/identity/v2_0/role.py +++ b/openstackclient/identity/v2_0/role.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Role action implementations""" import logging +import six from cliff import command from cliff import lister @@ -61,7 +62,7 @@ class AddRole(show.ShowOne): info = {} info.update(role._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class CreateRole(show.ShowOne): @@ -84,7 +85,7 @@ class CreateRole(show.ShowOne): info = {} info.update(role._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteRole(command.Command): @@ -229,4 +230,4 @@ class ShowRole(show.ShowOne): info = {} info.update(role._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v2_0/service.py b/openstackclient/identity/v2_0/service.py index 629475df0..2e81805bb 100644 --- a/openstackclient/identity/v2_0/service.py +++ b/openstackclient/identity/v2_0/service.py @@ -16,6 +16,7 @@ """Service action implementations""" import logging +import six from cliff import command from cliff import lister @@ -58,7 +59,7 @@ class CreateService(show.ShowOne): info = {} info.update(service._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteService(command.Command): @@ -136,11 +137,11 @@ class ShowService(show.ShowOne): if parsed_args.catalog: endpoints = identity_client.service_catalog.get_endpoints( service_type=parsed_args.service) - for (service, service_endpoints) in endpoints.iteritems(): + for (service, service_endpoints) in six.iteritems(endpoints): if service_endpoints: info = {"type": service} info.update(service_endpoints[0]) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) msg = ("No service catalog with a type, name or ID of '%s' " "exists." % (parsed_args.service)) @@ -166,4 +167,4 @@ class ShowService(show.ShowOne): info = {} info.update(service._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v2_0/tenant.py b/openstackclient/identity/v2_0/tenant.py index c9a423c5f..d535716ca 100644 --- a/openstackclient/identity/v2_0/tenant.py +++ b/openstackclient/identity/v2_0/tenant.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Tenant action implementations""" import logging +import six import sys from cliff import command @@ -64,7 +65,7 @@ class CreateTenant(show.ShowOne): info = {} info.update(tenant._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteTenant(command.Command): @@ -191,4 +192,4 @@ class ShowTenant(show.ShowOne): info = {} info.update(tenant._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v2_0/user.py b/openstackclient/identity/v2_0/user.py index 39be81af8..8c8e2622d 100644 --- a/openstackclient/identity/v2_0/user.py +++ b/openstackclient/identity/v2_0/user.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v2.0 User action implementations""" import logging +import six import sys from cliff import command @@ -79,7 +80,7 @@ class CreateUser(show.ShowOne): info = {} info.update(user._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteUser(command.Command): @@ -219,4 +220,4 @@ class ShowUser(show.ShowOne): info = {} info.update(user._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v3/credential.py b/openstackclient/identity/v3/credential.py index a2fb43a25..b82825f00 100644 --- a/openstackclient/identity/v3/credential.py +++ b/openstackclient/identity/v3/credential.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 Credential action implementations""" import logging +import six import sys from cliff import command @@ -72,7 +73,7 @@ class CreateCredential(show.ShowOne): parsed_args.data, project=project) - return zip(*sorted(credential._info.iteritems())) + return zip(*sorted(six.iteritems(credential._info))) class DeleteCredential(command.Command): @@ -191,4 +192,4 @@ class ShowCredential(show.ShowOne): credential = utils.find_resource(identity_client.credentials, parsed_args.credential) - return zip(*sorted(credential._info.iteritems())) + return zip(*sorted(six.iteritems(credential._info))) diff --git a/openstackclient/identity/v3/domain.py b/openstackclient/identity/v3/domain.py index f6064a589..1e9a4a2a0 100644 --- a/openstackclient/identity/v3/domain.py +++ b/openstackclient/identity/v3/domain.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 Domain action implementations""" import logging +import six import sys from cliff import command @@ -65,7 +66,7 @@ class CreateDomain(show.ShowOne): enabled=parsed_args.enabled, ) - return zip(*sorted(domain._info.iteritems())) + return zip(*sorted(six.iteritems(domain._info))) class DeleteDomain(command.Command): @@ -185,4 +186,4 @@ class ShowDomain(show.ShowOne): domain = utils.find_resource(identity_client.domains, parsed_args.domain) - return zip(*sorted(domain._info.iteritems())) + return zip(*sorted(six.iteritems(domain._info))) diff --git a/openstackclient/identity/v3/endpoint.py b/openstackclient/identity/v3/endpoint.py index c5f3ebadf..43da07aaa 100644 --- a/openstackclient/identity/v3/endpoint.py +++ b/openstackclient/identity/v3/endpoint.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 Endpoint action implementations""" import logging +import six import sys from cliff import command @@ -83,7 +84,7 @@ class CreateEndpoint(show.ShowOne): info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteEndpoint(command.Command): @@ -239,4 +240,4 @@ class ShowEndpoint(show.ShowOne): info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py index ca0493ebb..b5d24ef5f 100644 --- a/openstackclient/identity/v3/group.py +++ b/openstackclient/identity/v3/group.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Group action implementations""" import logging +import six import sys from cliff import command @@ -138,7 +139,7 @@ class CreateGroup(show.ShowOne): info = {} info.update(group._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteGroup(command.Command): @@ -375,4 +376,4 @@ class ShowGroup(show.ShowOne): info = {} info.update(group._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v3/oauth.py b/openstackclient/identity/v3/oauth.py index bcbbdf7e0..1672cd24f 100644 --- a/openstackclient/identity/v3/oauth.py +++ b/openstackclient/identity/v3/oauth.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 OAuth action implementations""" import logging +import six import sys from cliff import command @@ -65,7 +66,7 @@ class AuthenticateAccessToken(show.ShowOne): keystone_token = oauth_client.authenticate( parsed_args.consumer_key, parsed_args.consumer_secret, parsed_args.access_key, parsed_args.access_secret) - return zip(*sorted(keystone_token.iteritems())) + return zip(*sorted(six.iteritems(keystone_token))) class AuthorizeRequestToken(show.ShowOne): @@ -97,7 +98,7 @@ class AuthorizeRequestToken(show.ShowOne): parsed_args.request_key, parsed_args.roles) info = {} info.update(verifier_pin._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class CreateAccessToken(show.ShowOne): @@ -146,7 +147,7 @@ class CreateAccessToken(show.ShowOne): parsed_args.consumer_key, parsed_args.consumer_secret, parsed_args.request_key, parsed_args.request_secret, parsed_args.verifier) - return zip(*sorted(access_token.iteritems())) + return zip(*sorted(six.iteritems(access_token))) class CreateConsumer(show.ShowOne): @@ -171,7 +172,7 @@ class CreateConsumer(show.ShowOne): ) info = {} info.update(consumer._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class CreateRequestToken(show.ShowOne): @@ -207,7 +208,7 @@ class CreateRequestToken(show.ShowOne): parsed_args.consumer_key, parsed_args.consumer_secret, parsed_args.roles) - return zip(*sorted(request_token.iteritems())) + return zip(*sorted(six.iteritems(request_token))) class DeleteConsumer(command.Command): @@ -366,7 +367,7 @@ class ShowAuthorizationPin(show.ShowOne): parsed_args.request_id) info = {} info.update(data._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class ShowConsumer(show.ShowOne): @@ -391,4 +392,4 @@ class ShowConsumer(show.ShowOne): info = {} info.update(consumer._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v3/policy.py b/openstackclient/identity/v3/policy.py index ac14cc464..cdbb1cf29 100644 --- a/openstackclient/identity/v3/policy.py +++ b/openstackclient/identity/v3/policy.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 Policy action implementations""" import logging +import six import sys from cliff import command @@ -54,7 +55,7 @@ class CreatePolicy(show.ShowOne): blob, type=parsed_args.type ) - return zip(*sorted(policy._info.iteritems())) + return zip(*sorted(six.iteritems(policy._info))) class DeletePolicy(command.Command): @@ -172,7 +173,7 @@ class ShowPolicy(show.ShowOne): policy = utils.find_resource(identity_client.policies, parsed_args.policy) - return zip(*sorted(policy._info.iteritems())) + return zip(*sorted(six.iteritems(policy._info))) def _read_blob_file_contents(blob_file): diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index 9d1e360ba..05722b54d 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Project action implementations""" import logging +import six import sys from cliff import command @@ -78,7 +79,7 @@ class CreateProject(show.ShowOne): info = {} info.update(project._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteProject(command.Command): @@ -213,4 +214,4 @@ class ShowProject(show.ShowOne): info = {} info.update(project._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/identity/v3/role.py b/openstackclient/identity/v3/role.py index 9be3b7841..5403d4cb8 100644 --- a/openstackclient/identity/v3/role.py +++ b/openstackclient/identity/v3/role.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 Role action implementations""" import logging +import six import sys from cliff import command @@ -123,7 +124,7 @@ class CreateRole(show.ShowOne): identity_client = self.app.client_manager.identity role = identity_client.roles.create(parsed_args.name) - return zip(*sorted(role._info.iteritems())) + return zip(*sorted(six.iteritems(role._info))) class DeleteRole(command.Command): @@ -296,4 +297,4 @@ class ShowRole(show.ShowOne): role = utils.find_resource(identity_client.roles, parsed_args.role) - return zip(*sorted(role._info.iteritems())) + return zip(*sorted(six.iteritems(role._info))) diff --git a/openstackclient/identity/v3/service.py b/openstackclient/identity/v3/service.py index 5c82284c5..77efbeadf 100644 --- a/openstackclient/identity/v3/service.py +++ b/openstackclient/identity/v3/service.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 Service action implementations""" import logging +import six import sys from cliff import command @@ -62,7 +63,7 @@ class CreateService(show.ShowOne): parsed_args.type, parsed_args.enabled) - return zip(*sorted(service._info.iteritems())) + return zip(*sorted(six.iteritems(service._info))) class DeleteService(command.Command): @@ -178,4 +179,4 @@ class ShowService(show.ShowOne): service = utils.find_resource(identity_client.services, parsed_args.service) - return zip(*sorted(service._info.iteritems())) + return zip(*sorted(six.iteritems(service._info))) diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py index 8ee535dc3..b90527a3f 100644 --- a/openstackclient/identity/v3/user.py +++ b/openstackclient/identity/v3/user.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Identity v3 User action implementations""" import logging +import six import sys from cliff import command @@ -106,7 +107,7 @@ class CreateUser(show.ShowOne): info = {} info.update(user._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteUser(command.Command): @@ -355,4 +356,4 @@ class ShowUser(show.ShowOne): info = {} info.update(user._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) diff --git a/openstackclient/volume/v1/backup.py b/openstackclient/volume/v1/backup.py index 8ef666c1f..dbf6eb737 100644 --- a/openstackclient/volume/v1/backup.py +++ b/openstackclient/volume/v1/backup.py @@ -1,4 +1,4 @@ -# Copyright 2012-2013 OpenStack, LLC. +# Copyright 2012-2013 OpenStack Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -16,6 +16,7 @@ """Volume v1 Backup action implementations""" import logging +import six from cliff import command from cliff import lister @@ -68,7 +69,7 @@ class CreateBackup(show.ShowOne): ) backup._info.pop('links') - return zip(*sorted(backup._info.iteritems())) + return zip(*sorted(six.iteritems(backup._info))) class DeleteBackup(command.Command): @@ -163,4 +164,4 @@ class ShowBackup(show.ShowOne): backup = utils.find_resource(volume_client.backups, parsed_args.backup) backup._info.pop('links') - return zip(*sorted(backup._info.iteritems())) + return zip(*sorted(six.iteritems(backup._info))) diff --git a/openstackclient/volume/v1/snapshot.py b/openstackclient/volume/v1/snapshot.py index 6055a4d8a..d3a56b759 100644 --- a/openstackclient/volume/v1/snapshot.py +++ b/openstackclient/volume/v1/snapshot.py @@ -16,6 +16,7 @@ """Volume v1 Snapshot action implementations""" import logging +import six import sys from cliff import command @@ -69,7 +70,7 @@ class CreateSnapshot(show.ShowOne): parsed_args.description ) - return zip(*sorted(snapshot._info.iteritems())) + return zip(*sorted(six.iteritems(snapshot._info))) class DeleteSnapshot(command.Command): @@ -175,4 +176,4 @@ class ShowSnapshot(show.ShowOne): snapshot = utils.find_resource(volume_client.volume_snapshots, parsed_args.snapshot) - return zip(*sorted(snapshot._info.iteritems())) + return zip(*sorted(six.iteritems(snapshot._info))) diff --git a/openstackclient/volume/v1/type.py b/openstackclient/volume/v1/type.py index 895f23777..ecf22781b 100644 --- a/openstackclient/volume/v1/type.py +++ b/openstackclient/volume/v1/type.py @@ -16,6 +16,7 @@ """Volume v1 Type action implementations""" import logging +import six from cliff import command from cliff import lister @@ -62,7 +63,7 @@ class CreateVolumeType(show.ShowOne): info = {} info.update(volume_type._info) - return zip(*sorted(info.iteritems())) + return zip(*sorted(six.iteritems(info))) class DeleteVolumeType(command.Command): diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py index b74fe4524..97f8d31d0 100644 --- a/openstackclient/volume/v1/volume.py +++ b/openstackclient/volume/v1/volume.py @@ -16,6 +16,7 @@ """Volume v1 Volume action implementations""" import logging +import six from cliff import command from cliff import lister @@ -124,7 +125,7 @@ class CreateVolume(show.ShowOne): {'properties': utils.format_dict(volume._info.pop('metadata'))} ) - return zip(*sorted(volume._info.iteritems())) + return zip(*sorted(six.iteritems(volume._info))) class DeleteVolume(command.Command): @@ -322,7 +323,7 @@ class ShowVolume(show.ShowOne): {'properties': utils.format_dict(volume._info.pop('metadata'))} ) - return zip(*sorted(volume._info.iteritems())) + return zip(*sorted(six.iteritems(volume._info))) class UnsetVolume(command.Command):