Fix getcomments() so that it doesn't fail with TypeErrors.

It appears that getcomments() can get called for classes defined in
C.  Since these don't have source code, it can't do anything useful.
A function buried many levels deep was raising a TypeError that was
not caught.

Who knows why this broke...
This commit is contained in:
Jeremy Hylton 2002-03-28 23:01:56 +00:00
parent e9fba9188e
commit b4c17c8992
1 changed files with 8 additions and 3 deletions

View File

@ -416,9 +416,14 @@ def findsource(object):
raise IOError, 'could not find code object'
def getcomments(object):
"""Get lines of comments immediately preceding an object's source code."""
try: lines, lnum = findsource(object)
except IOError: return None
"""Get lines of comments immediately preceding an object's source code.
Returns None when source can't be found.
"""
try:
lines, lnum = findsource(object)
except (IOError, TypeError):
return None
if ismodule(object):
# Look for a comment block at the top of the file.