Skip to content

Commit 7eabffd

Browse files
committed
-
1 parent 5e7bcae commit 7eabffd

File tree

2 files changed

+5
-30
lines changed

2 files changed

+5
-30
lines changed

python_toolbox/address_tools/string_to_object.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ def get_object_by_address(address, root=None, namespace={}):
146146

147147
import_tools.import_if_exists(
148148
'.'.join((parent_object.__name__, address)),
149-
silent_fail=True
150149
)
151150
# Not keeping reference, just importing so we could get later.
152151

python_toolbox/import_tools.py

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -77,38 +77,14 @@ def normal_import(module_name):
7777
return __import__(module_name)
7878

7979

80-
@caching.cache() # todo: clear cache if `sys.path` changes
81-
def import_if_exists(module_name, silent_fail=False):
80+
def import_if_exists(module_name):
8281
'''
8382
Import module by name and return it, only if it exists.
84-
85-
If `silent_fail` is `True`, will return `None` if the module doesn't exist.
86-
If `silent_fail` is False, will raise `ImportError`.
87-
88-
`silent_fail` applies only to whether the module exists or not; if it does
89-
exist, but there's an error importing it... *release the hounds.*
90-
91-
I mean, we just raise the error.
9283
'''
93-
if '.' in module_name:
94-
package_name, submodule_name = module_name.rsplit('.', 1)
95-
package = import_if_exists(package_name, silent_fail=silent_fail)
96-
if not package:
97-
assert silent_fail is True
98-
return None
99-
if not exists(submodule_name, package_name):
100-
if silent_fail is True:
101-
return None
102-
else: # silent_fail is False
103-
raise ImportError("Can't find %s." % module_name)
104-
else: # '.' not in module_name
105-
if not exists(module_name):
106-
if silent_fail is True:
107-
return None
108-
else: # silent_fail is False
109-
raise ImportError("Can't find %s." % module_name)
110-
111-
return normal_import(module_name)
84+
try:
85+
return __import__(module_name)
86+
except ModuleNotFoundError:
87+
return None
11288

11389

11490
def exists(module_name, package_name=None):

0 commit comments

Comments
 (0)