summaryrefslogtreecommitdiffstats
path: root/Tools/freeze/modulefinder.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-12-15 15:35:23 (GMT)
committerGuido van Rossum <guido@python.org>1998-12-15 15:35:23 (GMT)
commit38b92eb56a43cc9d67425de93b1bc4a80897f3e6 (patch)
tree0b91f5ba4e3aad3b06d9b4530152ed4eab49ed7b /Tools/freeze/modulefinder.py
parent9c1696cff55375744281580438fe29d44de04397 (diff)
downloadcpython-38b92eb56a43cc9d67425de93b1bc4a80897f3e6.zip
cpython-38b92eb56a43cc9d67425de93b1bc4a80897f3e6.tar.gz
cpython-38b92eb56a43cc9d67425de93b1bc4a80897f3e6.tar.bz2
Sjoerd Mullender:
When printing missing modules, also print the module they were imported from.
Diffstat (limited to 'Tools/freeze/modulefinder.py')
-rw-r--r--Tools/freeze/modulefinder.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Tools/freeze/modulefinder.py b/Tools/freeze/modulefinder.py
index e406c6a..5c05c3a 100644
--- a/Tools/freeze/modulefinder.py
+++ b/Tools/freeze/modulefinder.py
@@ -220,6 +220,7 @@ class ModuleFinder:
return m
if self.badmodules.has_key(fqname):
self.msgout(3, "import_module -> None")
+ self.badmodules[fqname][parent.__name__] = None
return None
try:
fp, pathname, stuff = self.find_module(partname,
@@ -279,7 +280,7 @@ class ModuleFinder:
self.import_hook(name, m)
except ImportError, msg:
self.msg(2, "ImportError:", str(msg))
- self.badmodules[name] = None
+ self.badmodules[name] = {m.__name__:None}
elif op == IMPORT_FROM:
name = co.co_names[oparg]
assert lastname is not None
@@ -289,7 +290,7 @@ class ModuleFinder:
except ImportError, msg:
self.msg(2, "ImportError:", str(msg))
fullname = lastname + "." + name
- self.badmodules[fullname] = None
+ self.badmodules[fullname] = {m.__name__:None}
else:
lastname = None
for c in co.co_consts:
@@ -361,7 +362,9 @@ class ModuleFinder:
for key in keys:
# ... but not if they were explicitely excluded.
if key not in self.excludes:
- print "?", key
+ mods = self.badmodules[key].keys()
+ mods.sort()
+ print "?", key, "from", string.join(mods, ', ')
def test():