Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 38b92eb

Browse files
committed
Sjoerd Mullender:
When printing missing modules, also print the module they were imported from.
1 parent 9c1696c commit 38b92eb

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

Tools/freeze/hello.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
print 'Hello world...'
2+
import fooblurg

Tools/freeze/modulefinder.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ def import_module(self, partname, fqname, parent):
220220
return m
221221
if self.badmodules.has_key(fqname):
222222
self.msgout(3, "import_module -> None")
223+
self.badmodules[fqname][parent.__name__] = None
223224
return None
224225
try:
225226
fp, pathname, stuff = self.find_module(partname,
@@ -279,7 +280,7 @@ def scan_code(self, co, m):
279280
self.import_hook(name, m)
280281
except ImportError, msg:
281282
self.msg(2, "ImportError:", str(msg))
282-
self.badmodules[name] = None
283+
self.badmodules[name] = {m.__name__:None}
283284
elif op == IMPORT_FROM:
284285
name = co.co_names[oparg]
285286
assert lastname is not None
@@ -289,7 +290,7 @@ def scan_code(self, co, m):
289290
except ImportError, msg:
290291
self.msg(2, "ImportError:", str(msg))
291292
fullname = lastname + "." + name
292-
self.badmodules[fullname] = None
293+
self.badmodules[fullname] = {m.__name__:None}
293294
else:
294295
lastname = None
295296
for c in co.co_consts:
@@ -361,7 +362,9 @@ def report(self):
361362
for key in keys:
362363
# ... but not if they were explicitely excluded.
363364
if key not in self.excludes:
364-
print "?", key
365+
mods = self.badmodules[key].keys()
366+
mods.sort()
367+
print "?", key, "from", string.join(mods, ', ')
365368

366369

367370
def test():

0 commit comments

Comments
 (0)