Commit 730d8723 authored by Guido van Rossum's avatar Guido van Rossum

- Don't crash in the case where a superclass is a string instead of a

pyclbr.Class object; this can happen when the superclass is
unrecognizable (to pyclbr), e.g. when module renaming is used.

- Show a watch cursor when calling pyclbr (since it may take a while
recursively parsing imported modules!).
parent 73106e43
......@@ -78,7 +78,12 @@ class PathBrowser(MultiScrolledLists):
self.top.bell()
return []
try:
dict = pyclbr.readmodule(name, [dir] + sys.path)
self.top.configure(cursor="watch")
self.top.update_idletasks()
try:
dict = pyclbr.readmodule(name, [dir] + sys.path)
finally:
self.top.configure(cursor="")
except ImportError, msg:
tkMessageBox.showerror("Import error", str(msg), parent=root)
return []
......@@ -90,9 +95,12 @@ class PathBrowser(MultiScrolledLists):
if cl.super:
supers = []
for sup in cl.super:
sname = sup.name
if sup.module != cl.module:
sname = "%s.%s" % (sup.module, sname)
if type(sup) is type(''):
sname = sup
else:
sname = sup.name
if sup.module != cl.module:
sname = "%s.%s" % (sup.module, sname)
supers.append(sname)
s = s + "(%s)" % string.join(supers, ", ")
items.append((cl.lineno, s))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment