Make 'utils.monkey_patch' py3 compatible
'utils.monkey_patch' function uses py2-specific thing - 'inspect.ismethod' for getting list of class method members. But the concept of 'unbound methods' has been removed from the python 3.x and 'methods' now are the same type as standalone functions. So, add such distinguish to 'utils.monkey_patch' function to make it py 2/3 compatible. Change-Id: Iff9ae135486eb82f0873c3cf0f59b92bea4b169d Closes-bug: #1722485
This commit is contained in:
parent
a386cbe0ad
commit
9a7845f6d1
@ -76,7 +76,14 @@ class DockerHTTPClient(docker.APIClient):
|
||||
self._setup_decorators()
|
||||
|
||||
def _setup_decorators(self):
|
||||
for name, member in inspect.getmembers(self, inspect.ismethod):
|
||||
# NOTE(junbo.li): we need to distinguish class methods types
|
||||
# for py2 and py3, because the concept of 'unbound methods' has
|
||||
# been removed from the python3.x
|
||||
if six.PY3:
|
||||
member_type = inspect.isfunction
|
||||
else:
|
||||
member_type = inspect.ismethod
|
||||
for name, member in inspect.getmembers(self, member_type):
|
||||
if not name.startswith('_'):
|
||||
setattr(self, name, filter_data(member))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user