Fix DeprecationWarning on setuptools >= 11.3

Python 3.4 unit test is failing because of
DeprecationWarning: Parameters to load are deprecated.
Called .resolve and .require separately on setuptools >= 11.3.

Made provision to call .resolve() method if setuptools >= 10.2
and less than 11.3 else call .load() method.

Change-Id: I5ba80edfbf6b7c8399c66f01d57c91bd02eab274
Closes-Bug: #1586060
This commit is contained in:
dineshbhor 2016-05-26 20:04:09 +05:30
parent fe3e08ae0b
commit 9356e5e28a
1 changed files with 8 additions and 1 deletions

View File

@ -33,7 +33,14 @@ def load_model(dotted_name):
warnings.warn('model should be in form of module.model:User '
'and not module.model.User', exceptions.MigrateDeprecationWarning)
dotted_name = ':'.join(dotted_name.rsplit('.', 1))
return EntryPoint.parse('x=%s' % dotted_name).load(False)
ep = EntryPoint.parse('x=%s' % dotted_name)
if hasattr(ep, 'resolve'):
# this is available on setuptools >= 10.2
return ep.resolve()
else:
# this causes a DeprecationWarning on setuptools >= 11.3
return ep.load(False)
else:
# Assume it's already loaded.
return dotted_name