[Python-Dev] Sneaky 'super' instances

Brett C. drifty@alum.berkeley.edu
Tue, 10 Jun 2003 16:52:23 -0700


Bug 729103 discovered an interesting little issue; 'super' instances 
cause inspect.isroutine to return True since it also poses as a non-data 
descriptor.  Now this is bad because pydoc then tries to get a __name__ 
attribute out of it which it lacks because it is an instance of a class 
and not really a function or method.

So, should I change inspect.isroutine to check to see if its argument is 
an instance of 'super'?  Is there a robust way to check if something is 
an instance of a class which could be used instead to make this more 
general (like lacking a __name__ attribute)?  Or do we just cause pydoc 
to spit out "RTM online" every time it raises an error.  =)

-Brett