diff options
author | Dan Prince <dprince@redhat.com> | 2013-01-14 12:54:43 -0500 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2013-01-14 12:54:43 -0500 |
commit | 33b12d3c18a35f85785227267347f9ac7f7273a4 (patch) | |
tree | 5f512d33ae60ced0002a4d691a8d1430688b2309 /openstack/common | |
parent | d74668fbedc29aa4b7868fd3fb8a28d326f43d52 (diff) | |
download | oslo-33b12d3c18a35f85785227267347f9ac7f7273a4.tar.gz oslo-33b12d3c18a35f85785227267347f9ac7f7273a4.tar.xz oslo-33b12d3c18a35f85785227267347f9ac7f7273a4.zip |
Implement importutils.try_import.
Adds a new (simple) importutils.try_import function which
can return a module name or a default (by default this is None).
This should help clean up some of our
try:
import foo
except...
blocks in modules.
This commit also drops the dependency on python-extras which is
no longer needed.
Fixes LP Bug #1099501.
Change-Id: I8591f79983bdad67a50d1aaae6dce8428dfce084
Diffstat (limited to 'openstack/common')
-rw-r--r-- | openstack/common/importutils.py | 8 | ||||
-rw-r--r-- | openstack/common/service.py | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/openstack/common/importutils.py b/openstack/common/importutils.py index 2a28b45..9dec764 100644 --- a/openstack/common/importutils.py +++ b/openstack/common/importutils.py @@ -57,3 +57,11 @@ def import_module(import_str): """Import a module.""" __import__(import_str) return sys.modules[import_str] + + +def try_import(import_str, default=None): + """Try to import a module and if it fails return default.""" + try: + return import_module(import_str) + except ImportError: + return default diff --git a/openstack/common/service.py b/openstack/common/service.py index 740378f..6b180aa 100644 --- a/openstack/common/service.py +++ b/openstack/common/service.py @@ -27,17 +27,17 @@ import sys import time import eventlet -import extras import logging as std_logging from openstack.common import cfg from openstack.common import eventlet_backdoor from openstack.common.gettextutils import _ +from openstack.common import importutils from openstack.common import log as logging from openstack.common import threadgroup -rpc = extras.try_import('openstack.common.rpc') +rpc = importutils.try_import('openstack.common.rpc') CONF = cfg.CONF LOG = logging.getLogger(__name__) |