cpython/Lib
Greg Stein 616a58d79a Deal with a couple XXX comments which asked questions.
In response to "shouldn't the client close the file?", the answer is
"no". The original design behind HTTPConnection is that the client did
not have to worry about it. The response would close itself when you
read the last of the data from it. This closing also dealt with
allowing the connection to perform another request/response (if it was
a persistent connection).

However... the auto-close behavior broke compatibility with the
classic httplib.HTTP class' behavior when a zero-length response body
was present. In that situation, the HTTPResponse object was
auto-closing it since there was no data present, and for an HTTP/1.0
connection-close socket (or an HTTP/0.9 request) connection, that also
ended up closing the socket. When an httplib.HTTP user went to read
the socket... boom. A patch to correct the auto-close (for compat with
old httplib users) was added in rev 1.22.

But for non-zero-length *chunked* bodies, we should keep the
auto-close behavior. The library user is not reading the socket (they
can't cuz of the chunked response we just got done handling), so they
should be immune to the response closing the socket. In fact, I would
like to see (one day) the auto-close restored, and the HTTP subclass
would simply have a flag to disable that behavior (for back-compat
purposes).
2003-06-24 06:35:19 +00:00
..
bsddb Wrap the cursor functions with dbutils.DeadlockWrap to deal with the 2003-05-28 08:26:43 +00:00
compiler SF patch #701494: more apply removals 2003-04-06 09:01:11 +00:00
curses SF patch #701494: more apply removals 2003-04-06 09:01:11 +00:00
distutils Fix for sf # 749210, wininst isn't build correctly after building zip. 2003-06-12 17:23:58 +00:00
email AddressList.__str__(): Get rid of useless, and broken method. Closes 2003-06-13 21:16:06 +00:00
encodings Remove usage of re module from encodings package search function. 2003-05-16 17:07:51 +00:00
hotshot Move testing code into "if __name__ == '__main__'" so it's not run on import. 2003-03-28 16:28:48 +00:00
idlelib Idlefork patch #682347: convert Unicode strings from readline to 2003-06-22 07:52:56 +00:00
lib-old
lib-tk Add a missing 'self,' to a super call in recently checked-in code. 2003-06-15 19:08:57 +00:00
logging Fix SF bug #723801, logging.setLoggerClass() doesn't support new-style classes 2003-04-23 13:12:19 +00:00
plat-aix3
plat-aix4
plat-atheos Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
plat-beos5
plat-darwin These were somehow never added to CVS. 2002-12-30 22:14:35 +00:00
plat-freebsd2
plat-freebsd3
plat-freebsd4
plat-freebsd5
plat-generic
plat-irix5 Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
plat-irix6 Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
plat-linux1
plat-linux2 Regenerate. Fixes #618012. 2002-11-23 12:09:28 +00:00
plat-mac some old changes to this unused module 2003-06-21 14:49:14 +00:00
plat-netbsd1
plat-next3
plat-os2emx Create and populate OS/2 EMX port platform specific library directory: 2002-02-22 11:06:30 +00:00
plat-riscos Patch #734231: Update RiscOS support. In particular, correct 2003-05-10 07:36:56 +00:00
plat-sunos4
plat-sunos5
plat-unixware7
site-packages
test SF patch #736962. Converted test_compile to unittest format. 2003-06-23 13:36:57 +00:00
xml Whitespace normalization. 2003-04-24 16:02:54 +00:00
__future__.py
__phello__.foo.py
_strptime.py Call time.tzset (if available) just before calculating possible timezones from time.tzname. 2003-05-13 20:28:15 +00:00
aifc.py Fix wanrings about unsigned hex constants. 2002-08-12 22:11:28 +00:00
anydbm.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
asynchat.py [Patch #649762] Fix for asynchat endless loop 2003-03-10 15:16:54 +00:00
asyncore.py Fix comment typo 2003-02-14 01:13:01 +00:00
atexit.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
audiodev.py
base64.py
BaseHTTPServer.py Fix SF bug #747348 docstring mistake in BaseHTTPServer.py. \n\nBackport Candidate 2003-06-02 14:25:43 +00:00
Bastion.py Sabotage rexec.py. It is not safe since the new-style classes. 2003-01-06 15:43:34 +00:00
bdb.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
binhex.py
bisect.py
calendar.py SF 685011: calendar module overflow handling 2003-02-13 22:58:02 +00:00
cgi.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
CGIHTTPServer.py Fix bug 427345 [related to IE's additional input on POST request]. 2003-01-08 18:53:18 +00:00
cgitb.py SF Patch 569574 - enhancements to cgitb for plain text display 2003-06-17 12:58:31 +00:00
chunk.py Partial introduction of bools where appropriate. 2002-04-07 06:36:23 +00:00
cmd.py Whitespace normalization. 2003-02-19 02:35:07 +00:00
code.py - Finally fixed the bug in compile() and exec where a string ending 2003-02-13 22:07:59 +00:00
codecs.py Fix typos. 2003-02-02 23:08:27 +00:00
codeop.py Don't replace an empty line with "pass" when symbol == "eval", where 2003-05-16 01:24:30 +00:00
colorsys.py
commands.py
compileall.py Catch IOErrors. 2003-01-16 11:02:43 +00:00
ConfigParser.py Further cleanup of exceptions. All interpolation-related exceptions 2002-12-31 17:23:27 +00:00
Cookie.py Patch #655760: add warnings when the unsafe *Cookie classes are instantiated 2002-12-29 16:44:31 +00:00
copy.py Copy builtin functions as atomic. Fixes #746304. Will backport to 2.2. 2003-06-14 07:10:06 +00:00
copy_reg.py Patch #750595: Refer to type complex using builtin. Fixes #595837. 2003-06-07 20:10:54 +00:00
csv.py One more multiple exception catch should be in a tuple. 2003-06-12 04:05:00 +00:00
dbhash.py typo 2003-05-05 14:16:41 +00:00
difflib.py Fix docstring 2003-06-17 16:53:25 +00:00
dircache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
dis.py Whitespace normalization. 2003-03-07 17:30:48 +00:00
doctest.py Patch #486438: Make module argument to testmod optional. 2002-11-22 08:23:09 +00:00
DocXMLRPCServer.py Patch #727805: Remove extra line ending from CGI responses. 2003-05-01 05:05:09 +00:00
dumbdbm.py Fix comment, mode really is used 2003-03-01 22:58:00 +00:00
dummy_thread.py Cause calling interrupt_main in main thread raise KeyboardInterrupt instantly. 2003-06-13 23:56:32 +00:00
dummy_threading.py Brett Cannon's dummy_thread and dummy_threading modules (SF patch 2002-12-30 22:30:22 +00:00
FCNTL.py
filecmp.py Module review: 2003-02-27 00:05:31 +00:00
fileinput.py Test that chmod() actually exists before calling it (it doesn't on MacOS9). 2003-01-08 16:33:16 +00:00
fnmatch.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
formatter.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
fpformat.py
ftplib.py Fix a regression from the 1.68->1.69 checkin: 2002-06-03 10:41:45 +00:00
getopt.py A few naughty external scripts do 'raise getopt.error, "blah"', and 2003-02-06 19:52:56 +00:00
getpass.py Fix SF #640094, on win32 getpass runs into unix_getpass 2002-11-20 23:15:54 +00:00
gettext.py GNUTranslations._parse(): Fix SF bug #658233, where continuation lines 2003-05-20 17:26:48 +00:00
glob.py
gopherlib.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
gzip.py [Patch #654421 from Matthew Mueller] 2003-02-05 21:35:07 +00:00
heapq.py Fix typo in comment. 2002-11-13 14:38:17 +00:00
hmac.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
htmlentitydefs.py Add two dictionaries to htmlentitydefs: name2codepoint maps 2003-04-16 09:46:13 +00:00
htmllib.py Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
HTMLParser.py Accept commas in unquoted attribute values. 2003-03-14 16:21:57 +00:00
httplib.py Deal with a couple XXX comments which asked questions. 2003-06-24 06:35:19 +00:00
ihooks.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
imaplib.py improved CRLF regex for previous fix 2003-04-29 23:58:08 +00:00
imghdr.py
imputil.py Close SF patch 523944: importing modules with foreign newlines. 2002-06-28 23:32:51 +00:00
inspect.py Return None to signal that the module the object was defined in was not found when object has no __name__ attr but is needed to figure out location of object. 2003-06-15 22:33:28 +00:00
keyword.py Patrick K. O'Brien notices that kwlist was missing from __all__. 2002-10-30 05:17:22 +00:00
linecache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
locale.py Support '' as the argument for the setlocale emulation. Fixes #678259. 2003-03-30 15:42:13 +00:00
macpath.py Getting rid of macfs. 2003-02-27 23:18:46 +00:00
macurl2path.py
mailbox.py Undocumented feature: MHMailbox sets the msg object's _mh_msgno 2002-09-12 05:08:00 +00:00
mailcap.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
markupbase.py Whitespace normalization. 2003-04-24 16:02:54 +00:00
mhlib.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
mimetools.py choose_boundary(): This no longer uses random, so stop importing it. 2003-06-15 22:12:23 +00:00
mimetypes.py guess_all_extensions(): Return the empty list instead of None when 2003-06-09 22:27:41 +00:00
MimeWriter.py Patch 560023 adding docstrings. 2.2 Candidate (after verifying modules were not updated after 2.2). 2002-05-29 16:18:42 +00:00
mimify.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
modulefinder.py Patch #698082 from Thomas Heller: Modulefinder didn't exclude modules 2003-03-05 17:23:48 +00:00
multifile.py Back out multifile.py 1.19 and 1.20. Fixes #514676. 2002-09-22 09:01:08 +00:00
mutex.py Code modernization. Replace v=s[i]; del s[i] with single lookup v=s.pop(i) 2002-06-30 03:39:14 +00:00
netrc.py SF bug 557704: netrc module can't handle all passwords 2003-04-24 20:11:20 +00:00
new.py Forgot to add this. It's part of patch 568629. 2002-06-16 01:22:13 +00:00
nntplib.py - Several methods of nntplib.NNTP have grown an optional file argument 2003-04-19 18:04:57 +00:00
ntpath.py make nt altsep forward slash - closes bug 709428 2003-03-28 22:23:24 +00:00
nturl2path.py
opcode.py Revert the previous enhancement to the bytecode optimizer. 2003-04-24 05:45:23 +00:00
optparse.py Update to Optik 1.4.1+: adds __all__ (Optik SF bug #728563). 2003-05-08 01:38:52 +00:00
os.py Add optional 'onerror' argument to os.walk(), to control error 2003-05-13 18:01:19 +00:00
os2emxpath.py Migrate definitions of several platform-dependent path-related variables 2003-02-14 19:35:31 +00:00
pdb.doc
pdb.py Whitespace normalization. 2003-06-15 23:26:30 +00:00
pickle.py Remove unused _better_reduce (which will disappear soon) and 2003-02-18 22:49:10 +00:00
pickletools.py dis(): Added an optional memo argument, so that multiple pickles in a 2003-02-05 19:55:53 +00:00
pipes.py Massive changes from SF 589982 (tempfile.py rewrite, by Zack 2002-08-09 16:38:32 +00:00
pkgutil.py Last week we discussed adding this module to the standard library. 2002-12-23 16:30:00 +00:00
platform.py Fix docstring typo 2003-04-24 16:36:49 +00:00
popen2.py When a previous call to poll() has already seen the process status, 2003-06-02 19:12:01 +00:00
poplib.py Replace boolean test with is None. 2002-06-01 16:07:16 +00:00
posixfile.py
posixpath.py Use find() instead of looping over the string in expanduser(). 2003-06-19 10:21:14 +00:00
pprint.py Revert 1.25, as overloaded __repr__ is not considered. 2003-06-07 20:47:37 +00:00
pre.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
profile.doc
profile.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
pstats.py - add a dump_stats() method similar to that of the profile.Profile class 2003-05-14 14:28:09 +00:00
pty.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
py_compile.py Getting rid of macfs. 2003-02-27 23:18:46 +00:00
pyclbr.py Another big update, fixing all known bugs related to nesting functions 2002-12-03 08:14:35 +00:00
pydoc.py Support keyword and topics help in cli(). Fixes #715782. 2003-06-14 09:03:46 +00:00
Queue.py Use the dummy_thread module in Queue.py and tempfile.py. 2002-12-30 22:36:09 +00:00
quopri.py import statements only raise ImportError, right? 2002-03-23 05:55:18 +00:00
random.py randrange(): Repaired my overly optimistic rewrite, and added comments 2003-06-19 03:46:46 +00:00
re.py Give people who run "pydoc re" a clue. 2003-01-31 00:35:58 +00:00
reconvert.py
regex_syntax.py
regsub.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
repr.py [680789] Debug with long array takes forever 2003-02-05 18:29:34 +00:00
rexec.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
rfc822.py unquote(): Didn't properly de-backslash-ify. This patch (adapted from 2002-09-11 02:32:14 +00:00
rlcompleter.py Remove uses of the string and types modules: 2002-06-03 15:58:32 +00:00
robotparser.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
sched.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
sets.py SF bug 693121: Set == non-Set is a TypeError. 2003-03-02 00:19:49 +00:00
sgmllib.py Allow "@" in unquoted attribute values. 2003-04-29 22:12:55 +00:00
shelve.py Fixup bare try/except. 2003-05-27 06:30:52 +00:00
shlex.py - Changed shlex.split() method to have more useful and 2003-04-20 01:57:03 +00:00
shutil.py Fix SF bug #691276, shutil.copytree documentation bug 2003-02-23 21:36:32 +00:00
SimpleHTTPServer.py SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
SimpleXMLRPCServer.py Patch #727805: Remove extra line ending from CGI responses. 2003-05-01 05:05:09 +00:00
site.py In an OSX framework build Python could fail if HOME wasn't set, fixed. 2003-06-03 10:55:35 +00:00
smtpd.py smtp_RCPT(): Removed a somewhat embarrassing debugging line, found by 2002-05-14 02:13:30 +00:00
smtplib.py Patch #572031: AUTH method LOGIN for smtplib 2002-10-06 17:55:08 +00:00
sndhdr.py
socket.py Always unwrap _socketobj in socket.ssl. Revert httplib.py 1.25. 2003-06-14 13:30:53 +00:00
SocketServer.py Clearing out old patch queue. Patch #558547, make SocketServer more 2003-01-02 03:07:48 +00:00
sre.py Add finditer to __all__ (when defining it at all). 2002-10-14 12:22:17 +00:00
sre_compile.py Fully support 32-bit codes. Enable BIGCHARSET in UCS-4 builds. 2003-04-19 12:56:08 +00:00
sre_constants.py Fully support 32-bit codes. Enable BIGCHARSET in UCS-4 builds. 2003-04-19 12:56:08 +00:00
sre_parse.py Patch #681152: Support escaped Unicode characters in classes. Fixes #612074. 2003-04-19 08:37:24 +00:00
stat.py
statcache.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
statvfs.py
string.py Attempt to make all the various string *strip methods the same. 2003-04-10 22:35:32 +00:00
StringIO.py Make StringIO its own iterator, similar to real files. 2003-01-31 16:04:15 +00:00
stringold.py
stringprep.py Whitespace normalization. 2003-04-24 16:02:54 +00:00
sunau.py
sunaudio.py
symbol.py Updates to track Grammar changes. The patch to token.py loosens the regexp to 2002-10-03 09:42:01 +00:00
symtable.py Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
tabnanny.py Use string methods where possible, and remove import string 2002-05-31 14:13:04 +00:00
tarfile.py Fix by Lars Gustaebel for bug 721871: don't get upset if the prefix 2003-04-22 22:03:11 +00:00
telnetlib.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
tempfile.py Getting rid of macfs. 2003-03-21 12:55:38 +00:00
TERMIOS.py
textwrap.py Update copyright dates. 2003-06-15 15:37:18 +00:00
this.py Whitespace cleanup. 2002-02-08 20:41:34 +00:00
threading.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
timeit.py SF bug 735293: Command line timeit.py sets sys.path badly 2003-05-20 04:59:56 +00:00
toaiff.py Fix a typo in the mktemp -> mkstemp patch. 2002-08-10 00:17:59 +00:00
token.py Updates to track Grammar changes. The patch to token.py loosens the regexp to 2002-10-03 09:42:01 +00:00
tokenize.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
trace.py Whitespace normalization. 2003-04-24 16:02:54 +00:00
traceback.py This is my patch 2002-08-15 14:59:02 +00:00
tty.py
types.py [ 683376 ] Adding NotImplementedType to types.py 2003-02-10 19:38:33 +00:00
tzparse.py
unittest.py SF bug #715145: unittest.py still uses != in failUnlessEqual 2003-04-04 22:56:42 +00:00
urllib.py More fixes according to SF 549151: 2003-05-16 01:46:51 +00:00
urllib2.py Change all header strings to be as if they were capitalize()'ed. Also call 2003-06-17 21:52:34 +00:00
urlparse.py Patch #712124: Remove obsolete comment. 2003-03-30 16:28:26 +00:00
user.py SF # 555779, import user doesn't work with CGIs 2002-09-05 21:08:25 +00:00
UserDict.py SF patch #693753: fix for bug 639806: default for dict.pop 2003-03-06 23:54:28 +00:00
UserList.py SF #754014: list.index() should accept optional start, end arguments 2003-06-17 05:05:49 +00:00
UserString.py Attempt to make all the various string *strip methods the same. 2003-04-10 22:35:32 +00:00
uu.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
warnings.py defer re module imports to help improve interpreter startup 2003-05-14 17:33:53 +00:00
wave.py
weakref.py SF 742860: WeakKeyDictionary __delitem__ uses iterkeys 2003-05-25 01:45:11 +00:00
webbrowser.py Fixed bug 2002-11-25 17:25:04 +00:00
whichdb.py Patch #755087: Deal with emptied dumbdbm files correctly. 2003-06-21 13:54:55 +00:00
whrandom.py Guido sez to remove the deprecation warning for a year. 2002-04-11 20:57:30 +00:00
xdrlib.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
xmllib.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
xmlrpclib.py Made DateTime's constructor accept a time.struct_time class, 2003-06-16 02:49:42 +00:00
zipfile.py Remove debug print on filename with NUL byte. 2003-06-18 00:54:28 +00:00