python3: compatibility for iteritems and iterkeys
Use six to allow python2/pyton3 for iteritems and iterkeys. six.iteriems() replaces dictionary.iteritems() (python2) and dictionary.iterms() (python3) six.iterkeys() replaces dictionary.iterkeys (python2) and dictionary.keys() (python3) Change-Id: I26c80b78a7dedf3aa32eedf01a83ff6d1e592ba7 Signed-off-by: Chuck Short <chuck.short@canonical.com>
This commit is contained in:
parent
93557c1929
commit
d12d7a73ff
@ -22,6 +22,9 @@ import abc
|
|||||||
import contextlib
|
import contextlib
|
||||||
import hashlib
|
import hashlib
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
import six
|
||||||
|
|
||||||
from cinderclient import exceptions
|
from cinderclient import exceptions
|
||||||
from cinderclient import utils
|
from cinderclient import utils
|
||||||
|
|
||||||
@ -248,7 +251,7 @@ class Resource(object):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def _add_details(self, info):
|
def _add_details(self, info):
|
||||||
for (k, v) in info.iteritems():
|
for (k, v) in six.iteritems(info):
|
||||||
try:
|
try:
|
||||||
setattr(self, k, v)
|
setattr(self, k, v)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
@ -18,6 +18,7 @@ import re
|
|||||||
import sys
|
import sys
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
|
import six
|
||||||
import prettytable
|
import prettytable
|
||||||
|
|
||||||
from cinderclient import exceptions
|
from cinderclient import exceptions
|
||||||
@ -165,7 +166,7 @@ def print_list(objs, fields, formatters={}):
|
|||||||
def print_dict(d, property="Property"):
|
def print_dict(d, property="Property"):
|
||||||
pt = prettytable.PrettyTable([property, 'Value'], caching=False)
|
pt = prettytable.PrettyTable([property, 'Value'], caching=False)
|
||||||
pt.aligns = ['l', 'l']
|
pt.aligns = ['l', 'l']
|
||||||
[pt.add_row(list(r)) for r in d.iteritems()]
|
[pt.add_row(list(r)) for r in six.iteritems(d)]
|
||||||
print strutils.safe_encode(pt.get_string(sortby=property))
|
print strutils.safe_encode(pt.get_string(sortby=property))
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ Volume snapshot interface (1.1 extension).
|
|||||||
|
|
||||||
import urllib
|
import urllib
|
||||||
from cinderclient import base
|
from cinderclient import base
|
||||||
|
import six
|
||||||
|
|
||||||
|
|
||||||
class Snapshot(base.Resource):
|
class Snapshot(base.Resource):
|
||||||
@ -95,7 +96,7 @@ class SnapshotManager(base.ManagerWithFind):
|
|||||||
|
|
||||||
qparams = {}
|
qparams = {}
|
||||||
|
|
||||||
for opt, val in search_opts.iteritems():
|
for opt, val in six.iteritems(search_opts):
|
||||||
if val:
|
if val:
|
||||||
qparams[opt] = val
|
qparams[opt] = val
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ Volume interface (1.1 extension).
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import urllib
|
import urllib
|
||||||
|
import six
|
||||||
from cinderclient import base
|
from cinderclient import base
|
||||||
|
|
||||||
|
|
||||||
@ -167,7 +168,7 @@ class VolumeManager(base.ManagerWithFind):
|
|||||||
|
|
||||||
qparams = {}
|
qparams = {}
|
||||||
|
|
||||||
for opt, val in search_opts.iteritems():
|
for opt, val in six.iteritems(search_opts):
|
||||||
if val:
|
if val:
|
||||||
qparams[opt] = val
|
qparams[opt] = val
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
"""Volume snapshot interface (1.1 extension)."""
|
"""Volume snapshot interface (1.1 extension)."""
|
||||||
|
|
||||||
|
import six
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
from cinderclient import base
|
from cinderclient import base
|
||||||
@ -83,7 +84,7 @@ class SnapshotManager(base.ManagerWithFind):
|
|||||||
|
|
||||||
qparams = {}
|
qparams = {}
|
||||||
|
|
||||||
for opt, val in search_opts.iteritems():
|
for opt, val in six.iteritems(search_opts):
|
||||||
if val:
|
if val:
|
||||||
qparams[opt] = val
|
qparams[opt] = val
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
"""Volume interface (v2 extension)."""
|
"""Volume interface (v2 extension)."""
|
||||||
|
|
||||||
|
import six
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
from cinderclient import base
|
from cinderclient import base
|
||||||
@ -161,7 +162,7 @@ class VolumeManager(base.ManagerWithFind):
|
|||||||
|
|
||||||
qparams = {}
|
qparams = {}
|
||||||
|
|
||||||
for opt, val in search_opts.iteritems():
|
for opt, val in six.iteritems(search_opts):
|
||||||
if val:
|
if val:
|
||||||
qparams[opt] = val
|
qparams[opt] = val
|
||||||
|
|
||||||
|
@ -4,3 +4,4 @@ argparse
|
|||||||
prettytable>=0.6,<0.8
|
prettytable>=0.6,<0.8
|
||||||
requests>=0.8
|
requests>=0.8
|
||||||
simplejson>=2.0.9
|
simplejson>=2.0.9
|
||||||
|
six
|
||||||
|
@ -47,6 +47,7 @@ import subunit
|
|||||||
import sys
|
import sys
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
import six
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
|
|
||||||
@ -277,7 +278,7 @@ class NovaTestResult(testtools.TestResult):
|
|||||||
self.stopTestRun()
|
self.stopTestRun()
|
||||||
|
|
||||||
def stopTestRun(self):
|
def stopTestRun(self):
|
||||||
for cls in list(self.results.iterkeys()):
|
for cls in list(six.iterkeys(self.results)):
|
||||||
self.writeTestCase(cls)
|
self.writeTestCase(cls)
|
||||||
self.stream.writeln()
|
self.stream.writeln()
|
||||||
self.writeSlowTests()
|
self.writeSlowTests()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user