[Python-checkins] CVS: python/dist/src/Lib asynchat.py,1.4,1.5 asyncore.py,1.3,1.4 binhex.py,1.11,1.12 copy.py,1.13,1.14 dircache.py,1.5,1.6 dospath.py,1.11,1.12 formatter.py,1.14,1.15 ftplib.py,1.39,1.40 getopt.py,1.8,1.9 gzip.py,1.16,1.17 locale.py,1.3,1.4 macurl2path.py,1.6,1.7 mimify.py,1.14,1.15 os.py,1.29,1.30 pdb.py,1.41,1.42 pyclbr.py,1.14,1.15 sched.py,1.10,1.11 smtplib.py,1.20,1.21 statcache.py,1.6,1.7 xmllib.py,1.16,1.17

Guido van Rossum guido@cnri.reston.va.us
Fri, 4 Feb 2000 10:39:35 -0500 (EST)


Update of /projects/cvsroot/python/dist/src/Lib
In directory eric:/projects/python/develop/guido/src/Lib

Modified Files:
	asynchat.py asyncore.py binhex.py copy.py dircache.py 
	dospath.py formatter.py ftplib.py getopt.py gzip.py locale.py 
	macurl2path.py mimify.py os.py pdb.py pyclbr.py sched.py 
	smtplib.py statcache.py xmllib.py 
Log Message:
Actually, the previous batch's comment should have been different;
*this* set of patches is Ka-Ping's final sweep:

The attached patches update the standard library so that all modules
have docstrings beginning with one-line summaries.

A new docstring was added to formatter.  The docstring for os.py
was updated to mention nt, os2, ce in addition to posix, dos, mac.



Index: asynchat.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/asynchat.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** asynchat.py	1999/09/14 20:17:50	1.4
--- asynchat.py	2000/02/04 15:39:29	1.5
***************
*** 26,50 ****
  # ======================================================================
  
! import socket
! import asyncore
! import string
  
! # This class adds support for 'chat' style protocols - where one side
! # sends a 'command', and the other sends a response (examples would be
! # the common internet protocols - smtp, nntp, ftp, etc..).
  
! # The handle_read() method looks at the input stream for the current
! # 'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n'
! # for multi-line output), calling self.found_terminator() on its
! # receipt.
  
! # for example:
! # Say you build an async nntp client using this class.  At the start
! # of the connection, you'll have self.terminator set to '\r\n', in
! # order to process the single-line greeting.  Just before issuing a
! # 'LIST' command you'll set it to '\r\n.\r\n'.  The output of the LIST
! # command will be accumulated (using your own 'collect_incoming_data'
! # method) up to the terminator, and then control will be returned to
! # you - by calling your self.found_terminator() method
  
  class async_chat (asyncore.dispatcher):
--- 26,53 ----
  # ======================================================================
  
! """A class supporting chat-style (command/response) protocols.
! 
! This class adds support for 'chat' style protocols - where one side
! sends a 'command', and the other sends a response (examples would be
! the common internet protocols - smtp, nntp, ftp, etc..).
  
! The handle_read() method looks at the input stream for the current
! 'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n'
! for multi-line output), calling self.found_terminator() on its
! receipt.
  
! for example:
! Say you build an async nntp client using this class.  At the start
! of the connection, you'll have self.terminator set to '\r\n', in
! order to process the single-line greeting.  Just before issuing a
! 'LIST' command you'll set it to '\r\n.\r\n'.  The output of the LIST
! command will be accumulated (using your own 'collect_incoming_data'
! method) up to the terminator, and then control will be returned to
! you - by calling your self.found_terminator() method.
! """
  
! import socket
! import asyncore
! import string
  
  class async_chat (asyncore.dispatcher):

Index: asyncore.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/asyncore.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** asyncore.py	1999/09/14 20:15:19	1.3
--- asyncore.py	2000/02/04 15:39:29	1.4
***************
*** 26,29 ****
--- 26,50 ----
  # ======================================================================
  
+ """Basic infrastructure for asynchronous socket service clients and servers.
+ 
+ There are only two ways to have a program on a single processor do "more
+ than one thing at a time".  Multi-threaded programming is the simplest and 
+ most popular way to do it, but there is another very different technique,
+ that lets you have nearly all the advantages of multi-threading, without
+ actually using multiple threads. it's really only practical if your program
+ is largely I/O bound. If your program is CPU bound, then pre-emptive
+ scheduled threads are probably what you really need. Network servers are
+ rarely CPU-bound, however. 
+ 
+ If your operating system supports the select() system call in its I/O 
+ library (and nearly all do), then you can use it to juggle multiple
+ communication channels at once; doing other work while your I/O is taking
+ place in the "background."  Although this strategy can seem strange and
+ complex, especially at first, it is in many ways easier to understand and
+ control than multi-threaded programming. The module documented here solves
+ many of the difficult problems for you, making the task of building
+ sophisticated high-performance network servers and clients a snap. 
+ """
+ 
  import select
  import socket

Index: binhex.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/binhex.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** binhex.py	2000/02/02 15:10:14	1.11
--- binhex.py	2000/02/04 15:39:29	1.12
***************
*** 1,3 ****
! """binhex - Macintosh binhex compression/decompression
  
  easy interface:
--- 1,3 ----
! """Macintosh binhex compression/decompression.
  
  easy interface:

Index: copy.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/copy.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** copy.py	1999/01/25 21:37:02	1.13
--- copy.py	2000/02/04 15:39:29	1.14
***************
*** 1,5 ****
! """\
! Generic (shallow and deep) copying operations
! =============================================
  
  Interface summary:
--- 1,3 ----
! """Generic (shallow and deep) copying operations.
  
  Interface summary:

Index: dircache.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/dircache.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** dircache.py	2000/02/02 15:10:14	1.5
--- dircache.py	2000/02/04 15:39:29	1.6
***************
*** 1,5 ****
! """Return a sorted list of the files in a directory, using a cache
! to avoid reading the directory more often than necessary.
! Also contains a subroutine to append slashes to directories."""
  
  import os
--- 1,7 ----
! """Read and cache directory listings.
! 
! The listdir() routine returns a sorted list of the files in a directory,
! using a cache to avoid reading the directory more often than necessary.
! The annotate() routine appends slashes to directories."""
  
  import os

Index: dospath.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/dospath.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** dospath.py	2000/02/04 15:10:32	1.11
--- dospath.py	2000/02/04 15:39:29	1.12
***************
*** 1,3 ****
! """Module 'dospath' -- common operations on DOS pathnames"""
  
  import os
--- 1,3 ----
! """Common operations on DOS pathnames."""
  
  import os

Index: formatter.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/formatter.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** formatter.py	1999/01/12 18:13:27	1.14
--- formatter.py	2000/02/04 15:39:29	1.15
***************
*** 1,2 ****
--- 1,22 ----
+ """Generic output formatting.
+ 
+ Formatter objects transform an abstract flow of formatting events into
+ specific output events on writer objects. Formatters manage several stack
+ structures to allow various properties of a writer object to be changed and
+ restored; writers need not be able to handle relative changes nor any sort
+ of ``change back'' operation. Specific writer properties which may be
+ controlled via formatter objects are horizontal alignment, font, and left
+ margin indentations. A mechanism is provided which supports providing
+ arbitrary, non-exclusive style settings to a writer as well. Additional
+ interfaces facilitate formatting events which are not reversible, such as
+ paragraph separation. 
+ 
+ Writer objects encapsulate device interfaces. Abstract devices, such as
+ file formats, are supported as well as physical devices. The provided
+ implementations all work with abstract devices. The interface makes
+ available mechanisms for setting the properties which formatter objects
+ manage and inserting data into the output. 
+ """
+ 
  import string
  import sys

Index: ftplib.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/ftplib.py,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -r1.39 -r1.40
*** ftplib.py	1999/08/18 21:51:10	1.39
--- ftplib.py	2000/02/04 15:39:29	1.40
***************
*** 1,3 ****
! '''An FTP client class, and some helper functions.
  Based on RFC 959: File Transfer Protocol
  (FTP), by J. Postel and J. Reynolds
--- 1,4 ----
! """An FTP client class and some helper functions.
! 
  Based on RFC 959: File Transfer Protocol
  (FTP), by J. Postel and J. Reynolds
***************
*** 32,36 ****
  A nice test that reveals some of the network dialogue would be:
  python ftplib.py -d localhost -l -p -l
! '''
  
  
--- 33,37 ----
  A nice test that reveals some of the network dialogue would be:
  python ftplib.py -d localhost -l -p -l
! """
  
  

Index: getopt.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/getopt.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** getopt.py	1999/12/21 22:38:40	1.8
--- getopt.py	2000/02/04 15:39:29	1.9
***************
*** 1,3 ****
! """Module getopt -- Parser for command line options.
  
  This module helps scripts to parse the command line arguments in
--- 1,3 ----
! """Parser for command line options.
  
  This module helps scripts to parse the command line arguments in

Index: gzip.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/gzip.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** gzip.py	2000/02/04 15:10:32	1.16
--- gzip.py	2000/02/04 15:39:29	1.17
***************
*** 1,3 ****
! """This module implements a function that reads and writes a gzipped file.
  The user of the file doesn't have to worry about the compression,
  but random access is not allowed."""
--- 1,4 ----
! """Functions that read and write gzipped files.
! 
  The user of the file doesn't have to worry about the compression,
  but random access is not allowed."""

Index: locale.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/locale.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** locale.py	1998/03/26 21:12:22	1.3
--- locale.py	2000/02/04 15:39:29	1.4
***************
*** 1,3 ****
! "Support for number formatting using the current locale settings"
  # Author: Martin von Loewis
  
--- 1,4 ----
! """Support for number formatting using the current locale settings."""
! 
  # Author: Martin von Loewis
  

Index: macurl2path.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/macurl2path.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** macurl2path.py	1999/06/01 14:36:56	1.6
--- macurl2path.py	2000/02/04 15:39:29	1.7
***************
*** 1,4 ****
! """Mac specific module for conversion between pathnames and URLs.
! Do not import directly, use urllib instead."""
  
  import string
--- 1,5 ----
! """Macintosh-specific module for conversion between pathnames and URLs.
! 
! Do not import directly; use urllib instead."""
  
  import string

Index: mimify.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/mimify.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** mimify.py	2000/02/04 15:10:33	1.14
--- mimify.py	2000/02/04 15:39:29	1.15
***************
*** 1,5 ****
  #! /usr/bin/env python
  
! '''Mimification and unmimification of mail messages.
  
  Decode quoted-printable parts of a mail message or encode using
--- 1,5 ----
  #! /usr/bin/env python
  
! """Mimification and unmimification of mail messages.
  
  Decode quoted-printable parts of a mail message or encode using
***************
*** 20,24 ****
  to encode and decode respectively.  Infile defaults to standard
  input and outfile to standard output.
! '''
  
  # Configure
--- 20,24 ----
  to encode and decode respectively.  Infile defaults to standard
  input and outfile to standard output.
! """
  
  # Configure

Index: os.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/os.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -r1.29 -r1.30
*** os.py	2000/02/04 15:10:33	1.29
--- os.py	2000/02/04 15:39:30	1.30
***************
*** 1,13 ****
! """os.py -- either mac, dos or posix depending on what system we're on.
  
  This exports:
!   - all functions from either posix or mac, e.g., os.unlink, os.stat, etc.
!   - os.path is either module posixpath or macpath
!   - os.name is either 'posix' or 'mac'
    - os.curdir is a string representing the current directory ('.' or ':')
    - os.pardir is a string representing the parent directory ('..' or '::')
    - os.sep is the (or a most common) pathname separator ('/' or ':' or '\\')
!   - os.altsep is the alternatte pathname separator (None or '/')
    - os.pathsep is the component separator used in $PATH etc
    - os.defpath is the default search path for executables
  
--- 1,14 ----
! """OS routines for Mac, DOS, NT, or Posix depending on what system we're on.
  
  This exports:
!   - all functions from posix, nt, dos, os2, mac, or ce, e.g. unlink, stat, etc.
!   - os.path is one of the modules posixpath, ntpath, macpath, or dospath
!   - os.name is 'posix', 'nt', 'dos', 'os2', 'mac', or 'ce'
    - os.curdir is a string representing the current directory ('.' or ':')
    - os.pardir is a string representing the parent directory ('..' or '::')
    - os.sep is the (or a most common) pathname separator ('/' or ':' or '\\')
!   - os.altsep is the alternate pathname separator (None or '/')
    - os.pathsep is the component separator used in $PATH etc
+   - os.linesep is the line separator in text files ('\r' or '\n' or '\r\n')
    - os.defpath is the default search path for executables
  

Index: pdb.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/pdb.py,v
retrieving revision 1.41
retrieving revision 1.42
diff -C2 -r1.41 -r1.42
*** pdb.py	2000/02/04 15:10:33	1.41
--- pdb.py	2000/02/04 15:39:30	1.42
***************
*** 1,5 ****
  #! /usr/bin/env python
  
! """pdb.py -- finally, a Python debugger!"""
  
  # (See pdb.doc for documentation.)
--- 1,5 ----
  #! /usr/bin/env python
  
! """A Python debugger."""
  
  # (See pdb.doc for documentation.)

Index: pyclbr.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/pyclbr.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** pyclbr.py	1999/06/16 12:28:12	1.14
--- pyclbr.py	2000/02/04 15:39:30	1.15
***************
*** 1,3 ****
! '''Parse a Python file and retrieve classes and methods.
  
  Parse enough of a Python file to recognize class and method
--- 1,3 ----
! """Parse a Python file and retrieve classes and methods.
  
  Parse enough of a Python file to recognize class and method
***************
*** 52,56 ****
    hairy logic that the import locator already does.  (This logic
    exists coded in Python in the freeze package.)
! ''' # ' <-- bow to font lock
  
  import os
--- 52,56 ----
    hairy logic that the import locator already does.  (This logic
    exists coded in Python in the freeze package.)
! """
  
  import os

Index: sched.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/sched.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** sched.py	1999/06/25 18:53:23	1.10
--- sched.py	2000/02/04 15:39:30	1.11
***************
*** 1,3 ****
! """Module sched -- a generally useful event scheduler class
  
  Each instance of this class manages its own queue.
--- 1,3 ----
! """A generally useful event scheduler class.
  
  Each instance of this class manages its own queue.

Index: smtplib.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/smtplib.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** smtplib.py	1999/11/28 17:11:06	1.20
--- smtplib.py	2000/02/04 15:39:30	1.21
***************
*** 1,5 ****
  #! /usr/bin/env python
  
! '''SMTP/ESMTP client class.
  
  Author: The Dragon De Monsyne <dragondm@integral.org>
--- 1,5 ----
  #! /usr/bin/env python
  
! """SMTP/ESMTP client class.
  
  Author: The Dragon De Monsyne <dragondm@integral.org>
***************
*** 38,42 ****
    (250, "Somebody OverHere <somebody@here.my.org>")
    >>> s.quit()
! '''
  
  import socket
--- 38,42 ----
    (250, "Somebody OverHere <somebody@here.my.org>")
    >>> s.quit()
! """
  
  import socket

Index: statcache.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/statcache.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** statcache.py	2000/02/04 15:28:41	1.6
--- statcache.py	2000/02/04 15:39:30	1.7
***************
*** 1,3 ****
! """Maintain a cache of file stats.
  There are functions to reset the cache or to selectively remove items.
  """
--- 1,4 ----
! """Maintain a cache of stat() information on files.
! 
  There are functions to reset the cache or to selectively remove items.
  """

Index: xmllib.py
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Lib/xmllib.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -r1.16 -r1.17
*** xmllib.py	1999/08/26 15:52:33	1.16
--- xmllib.py	2000/02/04 15:39:30	1.17
***************
*** 1,3 ****
! # A parser for XML, using the derived class as static DTD.
  # Author: Sjoerd Mullender.
  
--- 1,4 ----
! """A parser for XML, using the derived class as static DTD."""
! 
  # Author: Sjoerd Mullender.