diff options
| author | Guido van Rossum <guido@python.org> | 1999-03-11 16:37:13 +0000 | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 1999-03-11 16:37:13 +0000 | 
| commit | b62e877631dab6c00a8ce519c2aeac521ae13ea2 (patch) | |
| tree | 64f23d02b47d8bf3805ffe5de203f6fa7038d057 /Tools/idle/PathBrowser.py | |
| parent | cbd987040e1d7ac342d336c8a60507c2a950dbd9 (diff) | |
| download | cpython-git-b62e877631dab6c00a8ce519c2aeac521ae13ea2.tar.gz | |
- 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!).
Diffstat (limited to 'Tools/idle/PathBrowser.py')
| -rw-r--r-- | Tools/idle/PathBrowser.py | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/Tools/idle/PathBrowser.py b/Tools/idle/PathBrowser.py index 06c9ff7fae..d8f5b55169 100644 --- a/Tools/idle/PathBrowser.py +++ b/Tools/idle/PathBrowser.py @@ -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)) | 
