summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/knee.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/Lib/knee.py b/Lib/knee.py
index 47f65cb..f88d78f 100644
--- a/Lib/knee.py
+++ b/Lib/knee.py
@@ -63,13 +63,22 @@ def load_tail(q, tail):
raise ImportError, "No module named " + mname
return m
-def ensure_fromlist(m, fromlist):
+def ensure_fromlist(m, fromlist, recursive=0):
for sub in fromlist:
+ if sub == "*":
+ if not recursive:
+ try:
+ all = m.__all__
+ except AttributeError:
+ pass
+ else:
+ ensure_fromlist(m, all, 1)
+ continue
if sub != "*" and not hasattr(m, sub):
subname = "%s.%s" % (m.__name__, sub)
submod = import_module(sub, subname, m)
-## if not submod:
-## raise ImportError, "No module named " + subname
+ if not submod:
+ raise ImportError, "No module named " + subname
def import_module(partname, fqname, parent):
try:
@@ -108,8 +117,3 @@ original_reload = __builtin__.reload
# Now install our hooks
__builtin__.__import__ = import_hook
__builtin__.reload = reload_hook
-
-# pretend we're ni, too
-sys.modules['ni'] = sys.modules[__name__]
-def ni(): pass
-def install(): pass