cpython/Lib
Jeremy Hylton c1be59f40a SF patch 852995: add processors feature to urllib2
John J. Lee writes: "the patch makes it possible to implement
functionality like HTTP cookie handling, Refresh handling,
etc. etc. using handler objects. At the moment urllib2's handler
objects aren't quite up to the job, which results in a lot of
cut-n-paste and subclassing. I believe the changes are
backwards-compatible, with the exception of people who've
reimplemented build_opener()'s functionality -- those people would
need to call opener.add_handler(HTTPErrorProcessor).

The main change is allowing handlers to implement
methods like:

http_request(request)
http_response(request, response)

In addition to the usual

http_open(request)
http_error{_*}(...)
"

Note that the change isn't well documented at least in part because
handlers aren't well documented at all.  Need to fix this.

Add a bunch of new tests.  It appears that none of these tests
actually use the network, so they don't need to be guarded by a
resource flag.
2003-12-14 05:27:34 +00:00
..
bsddb * Use weakref's of DBCursor objects for the iterator cursors to avoid a 2003-11-03 01:04:41 +00:00
compiler Fix SF bug [ 788011 ] compiler.compileFile fails on csv.py 2003-08-28 02:09:26 +00:00
curses Modernize code a bit: use isinstance instead of type(); return True/False 2003-09-02 11:52:06 +00:00
distutils Compile the files in the same order they are passed to the compiler. 2003-12-05 20:12:23 +00:00
email __init__(): The docstring was incorrect regarding how header wrapping 2003-11-19 02:23:01 +00:00
encodings Revert previous change. MAL preferred the old version. 2003-12-01 13:26:46 +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 Fix a typo introduced at 1.21 2003-11-25 05:01:00 +00:00
lib-old
lib-tk Convert path objects to strings in askdirectory. Fixes #852314. 2003-12-01 21:04:22 +00:00
logging SF bug #835457: Small typo in logging documentation 2003-11-08 11:40:03 +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 Wrapper modules for _Launch and _OSA weren't added yet. Fixed. 2003-12-09 15:07:01 +00:00
plat-netbsd1
plat-next3
plat-os2emx EMX lacks an implementation of link(). As Mailman wants os.link() to 2003-12-02 12:31:09 +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 852995: add processors feature to urllib2 2003-12-14 05:27:34 +00:00
xml Add missing self. before curNode. This may need to be committed 2003-06-29 04:50:34 +00:00
__future__.py
__phello__.foo.py Fix the frozen bytecode for __hello__ (betcha didn't know that existed 2001-10-18 18:49:37 +00:00
_strptime.py * Migrate set() and frozenset() from the sandbox. 2003-11-16 16:17:49 +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 [Part of patch #648322] Delete the poll2() function, which uses a 'poll' extension module that was once part of Medusa. Contributed by Kjetil Jacobsen 2003-10-22 14:38:27 +00:00
atexit.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
audiodev.py
base64.py
BaseHTTPServer.py SF patch #747364: BaseHTTPServer doesn't need StringIO intermediary 2003-08-09 05:01:41 +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 SF bug #770601: CGIHTTPServer and environment variables (bug + solution) 2003-07-14 06:56:32 +00:00
cgitb.py Whitespace normalization. 2003-06-29 05:46:54 +00:00
chunk.py Partial introduction of bools where appropriate. 2002-04-07 06:36:23 +00:00
cmd.py Add docstring 2003-10-22 14:38:54 +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 Fix typo fix. 2003-11-20 13:38:01 +00:00
colorsys.py
commands.py
compileall.py Fix typo in docstring: The switch is '-x', not '-s'. 2003-08-27 20:19:35 +00:00
ConfigParser.py Make both items() methods return lists; one had changed to return an 2003-10-21 16:45:00 +00:00
Cookie.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
copy_reg.py Revert previous checkin and just add a comment about constructor_ob. 2003-06-27 16:58:43 +00:00
copy.py Copy builtin functions as atomic. Fixes #746304. Will backport to 2.2. 2003-06-14 07:10:06 +00:00
csv.py Make the fieldnames argument optional in the DictReader. If self.fieldnames 2003-10-03 14:03:01 +00:00
dbhash.py typo 2003-05-05 14:16:41 +00:00
difflib.py Let library modules use the new keyword arguments for list.sort(). 2003-10-16 05:53:16 +00:00
dircache.py Patch #707167: Pass dircache exceptions to the caller. Fixes #682813. 2003-09-20 15:52:21 +00:00
dis.py Fixed dis.disassemble_string(). 2003-10-28 12:17:25 +00:00
doctest.py SF patch #806246: use basestring where possible 2003-09-17 05:50:59 +00:00
DocXMLRPCServer.py Patch #727805: Remove extra line ending from CGI responses. 2003-05-01 05:05:09 +00:00
dumbdbm.py Give dumbdbm a sync() method which Shelve can call. Should solve some 2003-07-14 12:15:15 +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 SF bug #453515: filecmp.dircmp case sensitivity bug 2003-09-02 05:42:02 +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 patch #765238: fix fnmatch.__all__ 2003-07-13 16:06:26 +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(): Initialize local variable k so that if the 2003-10-04 02:28:31 +00:00
glob.py
gopherlib.py Avoid list as a variable name. 2003-09-22 12:43:16 +00:00
gzip.py Fix error in exception message. 2003-12-04 19:28:06 +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 Docstring fix: XHTML 1.0 entities are supported 2003-10-27 15:47:48 +00:00
HTMLParser.py Accept commas in unquoted attribute values. 2003-03-14 16:21:57 +00:00
httplib.py Patch #831747: Add skip_accept_encoding parameter to putrequest. 2003-11-19 19:51:55 +00:00
ihooks.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
imaplib.py Patch #798297: Add IMAP THREAD command. 2003-11-10 06:44:44 +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 Apply extract functions instead of lambda. 2003-12-01 20:12:15 +00:00
keyword.py SF patch #852140: keyword.py - use __contains__ and bool 2003-12-02 07:48:15 +00:00
linecache.py Whitespace normalization. 2003-06-29 16:59:43 +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 Implement and apply PEP 322, reverse iteration 2003-11-06 14:06:48 +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 Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +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 SF #841977 - modulefinder fails to find extension modules in packages 2003-11-14 10:28:42 +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 Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +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
os2emxpath.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
os.py OS/2+EMX: make the link() emulation available as os.link() 2003-12-02 12:33:01 +00:00
pdb.doc
pdb.py Whitespace normalization. 2003-06-15 23:26:30 +00:00
pickle.py Fix grammar in comment. 2003-06-29 16:59:59 +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 SF patch #806246: use basestring where possible 2003-09-17 05:50:59 +00:00
platform.py Implement and apply PEP 322, reverse iteration 2003-11-06 14:06:48 +00:00
popen2.py Patch #817329: Use SC_OPEN_MAX to determine MAXFD. Backported to 2.3. 2003-10-06 21:34:33 +00:00
poplib.py Patch #: Add POP3 over SSL support. 2003-10-31 12:52:35 +00:00
posixfile.py Add a warning to the posixfile module stating that it will go away. 2001-10-24 22:03:35 +00:00
posixpath.py SF patch #834015: Remove imports of unused modules 2003-11-02 09:47:05 +00:00
pprint.py Add parameters indent, width and depth to pprint.pprint() and pprint.pformat() 2003-12-03 20:26:05 +00:00
pre.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
profile.doc Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +00:00
profile.py Remove unneeded import. 2003-10-22 17:22:18 +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 Apply extract functions instead of lambda. 2003-12-01 20:12:15 +00:00
pydoc.py Patch #785689: Use basename in usage. Backported to 2.3. 2003-10-31 13:05:21 +00:00
Queue.py Add __all__ . 2003-07-01 05:34:27 +00:00
quopri.py import statements only raise ImportError, right? 2002-03-23 05:55:18 +00:00
random.py Implement and apply PEP 322, reverse iteration 2003-11-06 14:06:48 +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 Make Message.__str__ more efficient. 2003-11-11 19:39:17 +00:00
rlcompleter.py Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +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 Remove deprecation of sets.Set.update(). 2003-11-19 15:52:14 +00:00
sgmllib.py Patch #793559: Reset __starttext_tag. Fixes #709491. Backported to 2.3. 2003-09-20 10:58:38 +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 Let library modules use the new keyword arguments for list.sort(). 2003-10-16 05:53:16 +00:00
SimpleXMLRPCServer.py SF patch #834015: Remove imports of unused modules 2003-11-02 09:47:05 +00:00
site.py To find the curses extension as a DLL (on OS/2), we need to adjust the 2003-12-02 12:27:25 +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 TCPServer: Fixed typo in class docstring. 2003-10-09 23:48:52 +00:00
sre_compile.py Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
sre_constants.py Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
sre_parse.py Implemented non-recursive SRE matching. 2003-10-17 22:13:16 +00:00
sre.py Addendum to #764548: restore 2.1 compatibility. 2003-07-02 21:37:16 +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 Add optional fillchar argument to ljust(), rjust(), and center() string methods. 2003-11-26 08:21:35 +00:00
StringIO.py Patch #822994: Consolidate tests for self.closed. 2003-10-18 10:20:42 +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 [Bug #822668] tarfile raises an exception if the tarfile is gzipped and is too large; the gzip filesize should be written out mod 2**32. (Reported by Johan Fredrik Ohman) 2003-10-24 17:38:34 +00:00
telnetlib.py Get rid of many apply() calls. 2003-02-27 20:14:51 +00:00
tempfile.py mktemp() shouldn't rely on os.path.exists(), which can return False if 2003-11-10 02:16:36 +00:00
TERMIOS.py
textwrap.py SF bug 797650: Infinite loop in textwrap.py 2003-08-30 14:43:55 +00:00
this.py Whitespace cleanup. 2002-02-08 20:41:34 +00:00
threading.py Add traceback.format_exc(). 2003-11-05 23:03:00 +00:00
timeit.py Show microseconds, milliseconds or seconds, whichever is most natural, 2003-10-20 23:38:28 +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 SF patch #834015: Remove imports of unused modules 2003-11-02 09:47:05 +00:00
traceback.py Add traceback.format_exc(). 2003-11-05 23:03:00 +00:00
tty.py
types.py [ 683376 ] Adding NotImplementedType to types.py 2003-02-10 19:38:33 +00:00
tzparse.py
unittest.py Variation of Thomas Heller's patch (722638) for improving readability 2003-12-06 13:03:13 +00:00
urllib2.py SF patch 852995: add processors feature to urllib2 2003-12-14 05:27:34 +00:00
urllib.py [Bug #776542] open_https() generates a bad Authorization header because it calls .putheader() wrongly. Reported by Steffen Ries. 2003-08-29 18:12:23 +00:00
urlparse.py See rev. 1.42 for log message 2003-10-12 04:29:10 +00:00
user.py SF # 555779, import user doesn't work with CGIs 2002-09-05 21:08:25 +00:00
UserDict.py SF bug #849662. Dramatically, improve comparison speed for "if shl == None". 2003-12-04 20:04:09 +00:00
UserList.py Add list.sorted() classmethod. 2003-10-29 06:54:43 +00:00
UserString.py Add optional fillchar argument to ljust(), rjust(), and center() string methods. 2003-11-26 08:21:35 +00:00
uu.py Replaced obsolete stat module constants with equivalent attributes 2002-06-01 19:51:15 +00:00
warnings.py Change warnings to avoid importing re module during startup. 2003-07-11 15:37:59 +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 Fix a bunch of typos in documentation, docstrings and comments. 2003-10-20 14:01:56 +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 SF patch #834015: Remove imports of unused modules 2003-11-02 09:47:05 +00:00
zipfile.py SF patch #756996: Bare except in ZipFile.testzip() 2003-06-27 22:25:03 +00:00