• Tim Peters's avatar
    New function classify_class_attrs(). As a number of SF bug reports · 13b49d33
    Tim Peters yazdı
    point out, pydoc doesn't tell you where class attributes were defined,
    gets several new 2.2 features wrong, and isn't aware of some new features
    checked in on Thursday <wink>.  pydoc is hampered in part because
    inspect.py has the same limitations.  Alas, I can't think of a way to
    fix this within the current architecture of inspect/pydoc:  it's simply
    not possible in 2.2 to figure out everything needed just from examining
    the object you get back from class.attr.  You also need the class
    context, and the method resolution order, and tests against various things
    that simply didn't exist before.  OTOH, knowledge of how to do that is
    getting quite complex, so doesn't belong in pydoc.
    
    classify_class_attrs takes a different approach, analyzing all
    the class attrs "at once", and returning the most interesting stuff for
    each, all in one gulp.  pydoc needs to be reworked to use this for
    classes (instead of the current "filter dir(class) umpteen times against
    assorted predicates" approach).
    13b49d33
inspect.py 30.8 KB