- 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!).
This commit is contained in:
parent
cbd987040e
commit
b62e877631
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue