summaryrefslogtreecommitdiffstats
path: root/openstack/common/utils.py
diff options
context:
space:
mode:
authorRussell Bryant <rbryant@redhat.com>2012-04-03 17:05:37 -0400
committerRussell Bryant <rbryant@redhat.com>2012-04-11 02:30:14 -0400
commit4acd7829ab0857356594dce3b841f4d785cf2aa1 (patch)
tree1a13b5a384b6864f3768bba527d0d2f7c8450a21 /openstack/common/utils.py
parent4fec57161a42914fae59f931879678c79470d49b (diff)
downloadoslo-4acd7829ab0857356594dce3b841f4d785cf2aa1.tar.gz
oslo-4acd7829ab0857356594dce3b841f4d785cf2aa1.tar.xz
oslo-4acd7829ab0857356594dce3b841f4d785cf2aa1.zip
Change behavior in utils.import_object().
Fix bug 972859. Prior to this patch, utils.import_object(foo) and utils.import_class(foo) would return the same thing if foo was the path to a class. This patch changes utils.import_object() to return an instance of the class, instead, also allowing you to pass in arguments to the constructor. This patch also removes the odd behavior of import_object() to be able to also import a module. Instead, a new function import_module() has been added. Finally, the three import helpers have been moved to a new module, importutils. Change-Id: Ia2ea64c965692f8c3a29adec332dd93a83980070
Diffstat (limited to 'openstack/common/utils.py')
-rw-r--r--openstack/common/utils.py20
1 files changed, 0 insertions, 20 deletions
diff --git a/openstack/common/utils.py b/openstack/common/utils.py
index f9dfe73..dee09ac 100644
--- a/openstack/common/utils.py
+++ b/openstack/common/utils.py
@@ -23,7 +23,6 @@ import logging
import os
import random
import shlex
-import sys
from eventlet import greenthread
from eventlet.green import subprocess
@@ -139,22 +138,3 @@ def execute(*cmd, **kwargs):
# call clean something up in between calls, without
# it two execute calls in a row hangs the second one
greenthread.sleep(0)
-
-
-def import_class(import_str):
- """Returns a class from a string including module and class"""
- mod_str, _sep, class_str = import_str.rpartition('.')
- try:
- __import__(mod_str)
- return getattr(sys.modules[mod_str], class_str)
- except (ImportError, ValueError, AttributeError):
- raise exception.NotFound('Class %s cannot be found' % class_str)
-
-
-def import_object(import_str):
- """Returns an object including a module or module and class"""
- try:
- __import__(import_str)
- return sys.modules[import_str]
- except ImportError:
- return import_class(import_str)