summaryrefslogtreecommitdiff
path: root/numpy/lib/function_base.py
diff options
context:
space:
mode:
authorseberg <sebastian@sipsolutions.net>2013-11-20 12:29:22 -0800
committerseberg <sebastian@sipsolutions.net>2013-11-20 12:29:22 -0800
commit78e29a323316642899f8ff85e538b785f0d5e31f (patch)
treefb197f0ea8f205721aa9590d9f0eafffad6aae9c /numpy/lib/function_base.py
parent9f611dec1ebed4c8c933d5d310ceaf67aedbb8a4 (diff)
parent66174b8aa5644b11054b72761e89e22fd8a18eae (diff)
downloadnumpy-78e29a323316642899f8ff85e538b785f0d5e31f.tar.gz
Merge pull request #4064 from juliantaylor/import-speed
ENH: improve add_newdocs performance
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r--numpy/lib/function_base.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py
index a70f74f60..9176d9950 100644
--- a/numpy/lib/function_base.py
+++ b/numpy/lib/function_base.py
@@ -3110,15 +3110,14 @@ def add_newdoc(place, obj, doc):
that the docstrings were changed.
"""
try:
- new = {}
- exec('from %s import %s' % (place, obj), new)
+ new = getattr(__import__(place, globals(), {}, [obj]), obj)
if isinstance(doc, str):
- add_docstring(new[obj], doc.strip())
+ add_docstring(new, doc.strip())
elif isinstance(doc, tuple):
- add_docstring(getattr(new[obj], doc[0]), doc[1].strip())
+ add_docstring(getattr(new, doc[0]), doc[1].strip())
elif isinstance(doc, list):
for val in doc:
- add_docstring(getattr(new[obj], val[0]), val[1].strip())
+ add_docstring(getattr(new, val[0]), val[1].strip())
except:
pass