1. 24 Sep, 2001 7 commits
    • Fred Drake's avatar
      Add more signature information and some descriptions for the new APIs · f244b2e4
      Fred Drake authored
      introduced in Python 2.2.
      Add documentation for the slice object interface (not complete).
      Added version annotations for several of the Python 2.2 APIs already
      documented.
      f244b2e4
    • Fred Drake's avatar
      Add more reference count information. · 23a78cf1
      Fred Drake authored
      23a78cf1
    • Andrew M. Kuchling's avatar
      Add link to Unix Review's 2.2 article · 1497b628
      Andrew M. Kuchling authored
      Fix two errors
      1497b628
    • Steven M. Gava's avatar
      start of new config handling stuff · c11ccf35
      Steven M. Gava authored
      c11ccf35
    • Tim Peters's avatar
      More work on class display: · fa26f7cc
      Tim Peters authored
      + Minor code cleanup, generalization and simplification.
      
      + "Do something" to make the attribute aggregation more apparent:
          - In text mode, stick a "* " at the front of subgroup header lines.
          - In GUI mode, display a horizontal rule between subgroups.
         For GUI mode, this is a huge improvement, at least under IE.
      fa26f7cc
    • Tim Peters's avatar
      Try to do for pydoc's GUI mode what the earlier checkin did for text · b47879b2
      Tim Peters authored
      mode (identify the source class for class attrs; segregate attrs according
      to source class, and whether class method, static method, property, plain
      method, or data; display data attrs; display docstrings for data attrs
      when possible).
      
      Alas, this is mondo ugly, and I'm no HTML guy.  Part of the problem is
      that pydoc's GUI mode has always been ugly under IE, largely because
      <small> under IE renders docstrings unreadably small (while sometimes
      non-docstring text is painfully large).  Another part is that these
      segregated listings of attrs would *probably* look much better as bulleted
      lists.  Alas, when I tried that, the bullets all ended up on lines by
      themselves, before the method names; this is apparently because pydoc
      (ab?)uses definition lists for format effects, and at least under IE
      if a definition list is the first chunk of a list item, it gets rendered
      on a line after the <li> bullet.
      
      An HTML wizard would certainly be welcomed here.
      b47879b2
    • Barry Warsaw's avatar
      Added a note about the new email package. · 2f60073d
      Barry Warsaw authored
      2f60073d
  2. 23 Sep, 2001 9 commits
    • Tim Peters's avatar
      Part of a partial solution to SF bugs 463378, 463381, 463383, 463384. · 28355496
      Tim Peters authored
      This almost entirely replaces how pydoc pumps out class docs, but only
      in text mode (like help(whatever) from a Python shell), not in GUI mode.
      
      A class C's attrs are now grouped by the class in which they're defined,
      attrs defined by C first, then inherited attrs grouped by alphabetic order
      of the defining classes' names.
      
      Within each of those groups, the attrs are subgrouped according to whether
      they're plain methods, class methods, static methods, properties, or data.
      Note that pydoc never dumped class data attrs before.  If a class data
      attr is implemented via a data descriptor, the data docstring (if any)
      is also displayed (e.g., file.softspace).
      
      Within a subgroup, the attrs are listed alphabetically.
      
      This is a friggin' mess, and there are bound to be glitches.  Please
      beat on it and complain!  Here are three glitches:
      
      1. __new__ gets classifed as 'data', for some reason.  This will
         have to get fixed in inspect.py, but since the latter is already
         looking for any clue that something is a method, pydoc will
         almost certainly not know what to do with it when its classification
         changes.
      
      2. properties are special-cased to death.  Unlike any other kind of
         function or method, they don't have a __name__ attr, so none of
         pydoc's usual code can deal with them.  Worse, the getter and
         setter and del'er methods associated with a property don't appear
         to be discoverable from Python, so there's really nothing I can
         think of to do here beyond just listing their names.
      
         Note that a property can't be given a docstring, either (or at least
         I've been unable to sneak one in) -- perhaps the property()
         constructor could take an optional doc argument?
      
      3. In a nested-scopes world, pydoc still doesn't know anything about
         nesting, so e.g. classes nested in functions are effectively invisible.
      28355496
    • Martin v. Löwis's avatar
    • Tim Peters's avatar
      Install the new Lib/email pkg. · 8ca177bd
      Tim Peters authored
      Create & populate the new Lib/test/data directory.
      8ca177bd
    • Tim Peters's avatar
      2c9aa5ea
    • Barry Warsaw's avatar
      The test data (mostly example messages) for the email package test · d31db7e9
      Barry Warsaw authored
      suite.  Note that other tests can put input data in this directory.
      d31db7e9
    • Barry Warsaw's avatar
      4107585a
    • Barry Warsaw's avatar
      The email package version 1.0, prototyped as mimelib · ba92580f
      Barry Warsaw authored
      <http://sf.net/projects/mimelib>.  There /are/ API differences between
      mimelib and email, but most of the implementations are shared (except
      where cool Py2.2 stuff like generators are used).
      ba92580f
    • Fred Drake's avatar
      Added API information for the PyCallIter_*() and PySeqIter_*() functions. · d61d0d3f
      Fred Drake authored
      Added signatures for some new PyType_*() functions.
      d61d0d3f
    • Tim Peters's avatar
      New function classify_class_attrs(). As a number of SF bug reports · 13b49d33
      Tim Peters authored
      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
  3. 22 Sep, 2001 11 commits
  4. 21 Sep, 2001 12 commits
  5. 20 Sep, 2001 1 commit