diff options
author | gordon chung <gord@live.ca> | 2014-09-03 16:21:46 -0400 |
---|---|---|
committer | gordon chung <gord@live.ca> | 2014-10-02 15:10:45 +0000 |
commit | 7316dd16b8850270db27c1298dcf5a2223f2f1e1 (patch) | |
tree | e3b4f5b6f333e4889e2f4364168825f154dd961f /ceilometerclient/openstack/common/importutils.py | |
parent | 5aa2a69f36c1738d9cc24470e81651732f180859 (diff) | |
download | python-ceilometerclient-7316dd16b8850270db27c1298dcf5a2223f2f1e1.tar.gz |
sync oslo codeicehouse-eol1.0.12stable/icehouse
- sync code up to Change-Id: Ie6064e73abe4b0729498a0343d50e1be35684b75
- includes fix to resolve alarm-evaluator failure
- does not include openstack/common/strutils sync as it requires
test update
Co-Authored-By: Vaibhav Kale <vaibhav_kale@persistent.co.in>
Closes-Bug: #1357343
Change-Id: Ieec08520cb39c5bf2e795dfeb3e36e52c6fd2a82
Diffstat (limited to 'ceilometerclient/openstack/common/importutils.py')
-rw-r--r-- | ceilometerclient/openstack/common/importutils.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ceilometerclient/openstack/common/importutils.py b/ceilometerclient/openstack/common/importutils.py index 4fd9ae2..a7972e0 100644 --- a/ceilometerclient/openstack/common/importutils.py +++ b/ceilometerclient/openstack/common/importutils.py @@ -24,10 +24,10 @@ import traceback def import_class(import_str): """Returns a class from a string including module and class.""" mod_str, _sep, class_str = import_str.rpartition('.') + __import__(mod_str) try: - __import__(mod_str) return getattr(sys.modules[mod_str], class_str) - except (ValueError, AttributeError): + except AttributeError: raise ImportError('Class %s cannot be found (%s)' % (class_str, traceback.format_exception(*sys.exc_info()))) @@ -58,6 +58,13 @@ def import_module(import_str): return sys.modules[import_str] +def import_versioned_module(version, submodule=None): + module = 'ceilometerclient.v%s' % version + if submodule: + module = '.'.join((module, submodule)) + return import_module(module) + + def try_import(import_str, default=None): """Try to import a module and if it fails return default.""" try: |